From b51676a89a85ab631206db6dca314e9382e88faa Mon Sep 17 00:00:00 2001 From: Juri Strumpflohner Date: Thu, 29 May 2025 20:55:34 +0200 Subject: [PATCH] docs(core): restructure guides into technologies sections (#31288) Updates the docs structure, navigation etc to be easier + better suited for showing Nx technology support beyond just TS. **Notes:** - API (`/nx-api`) tab is removed from the navigation (i.e. menu bar), but pages still remain for now until we update references in `*.md` files. - Redirects are set up `/nx-api` to go to their respect new location e.g. `/technologies` or `/reference/core-api` - Old URLs still exist in the sitemap for now, but majority of them will be redirected -- a follow-up PR can remove them. **Preview:** https://nx-dev-git-nx-dev-polyglot-docs-restructure-nrwl.vercel.app/docs --------- Co-authored-by: Jack Hsu --- .gitattributes | 2 + .gitignore | 27 +- ...-mastering-the-project-boundaries-in-nx.md | 2 +- ...put-performance-improvements-in-nx-13-5.md | 2 +- ...ind-css-with-angular-in-an-nx-workspace.md | 4 +- ...-you-always-wanted-but-didnt-know-about.md | 2 +- ...v14-is-out-here-is-all-you-need-to-know.md | 4 +- docs/blog/2022-10-14-whats-new-in-nx-15.md | 4 +- ...alone-projects-vite-task-graph-and-more.md | 2 +- ...support-a-new-nx-watch-command-and-more.md | 4 +- ...-with-server-side-rendering-for-angular.md | 2 +- ...de-support-angular-lts-lockfile-pruning.md | 2 +- ...le-for-intellij-deno-node-and-storybook.md | 2 +- docs/blog/2023-05-02-nx-16-is-here.md | 4 +- ...er-location-with-netlify-edge-functions.md | 2 +- docs/blog/2023-07-06-nx-16-5-release.md | 2 +- ...08-03-storybook-interaction-tests-in-nx.md | 4 +- docs/blog/2023-12-28-highlights-2023.md | 6 +- docs/blog/2024-08-01-nx-19-5-update.md | 2 +- ...-next-gen-module-federation-deployments.md | 6 +- docs/blog/2024-09-20-nx-19-8.md | 2 +- docs/blog/2024-10-03-nx-20-release.md | 2 +- docs/blog/2024-12-22-nx-highlights-2024.md | 2 +- ...025-01-28-managing-ts-pkgs-in-monorepos.md | 2 +- ...-01-31-over-the-air-updates-with-zephyr.md | 2 +- docs/blog/2025-03-07-nx-update-20-5.md | 14 +- ...03-18-architecting-angular-applications.md | 2 +- .../2025-03-19-using-angular-with-rspack.md | 4 +- ...14-scaffold-angular-rspack-applications.md | 8 +- docs/blog/2025-05-05-nx-21-release.md | 2 +- .../2025-05-08-improved-module-federation.md | 4 +- docs/changelog/17_0_0.md | 2 +- docs/changelog/20_0_0.md | 2 +- .../devkit/AggregateCreateNodesError.md | 36 +- .../generated/devkit/AsyncIteratorExecutor.md | 10 +- docs/generated/devkit/ChangeType.md | 4 +- docs/generated/devkit/CreateDependencies.md | 18 +- .../devkit/CreateDependenciesContext.md | 24 +- docs/generated/devkit/CreateMetadata.md | 16 +- .../generated/devkit/CreateMetadataContext.md | 8 +- docs/generated/devkit/CreateNodes.md | 4 +- docs/generated/devkit/CreateNodesContext.md | 16 +- docs/generated/devkit/CreateNodesContextV2.md | 8 +- docs/generated/devkit/CreateNodesFunction.md | 18 +- .../generated/devkit/CreateNodesFunctionV2.md | 16 +- docs/generated/devkit/CreateNodesResult.md | 8 +- docs/generated/devkit/CreateNodesV2.md | 4 +- docs/generated/devkit/CustomHasher.md | 14 +- .../devkit/DefaultTasksRunnerOptions.md | 24 +- docs/generated/devkit/DependencyType.md | 6 +- docs/generated/devkit/DynamicDependency.md | 14 +- docs/generated/devkit/Executor.md | 2 +- docs/generated/devkit/ExecutorContext.md | 32 +- docs/generated/devkit/ExecutorsJson.md | 4 +- docs/generated/devkit/FileChange.md | 8 +- docs/generated/devkit/FileData.md | 6 +- docs/generated/devkit/FileMap.md | 8 +- docs/generated/devkit/Generator.md | 6 +- docs/generated/devkit/GeneratorsJson.md | 6 +- docs/generated/devkit/GraphJson.md | 10 +- docs/generated/devkit/Hash.md | 4 +- docs/generated/devkit/Hasher.md | 2 +- docs/generated/devkit/HasherContext.md | 20 +- docs/generated/devkit/ImplicitDependency.md | 12 +- .../devkit/ImplicitDependencyEntry.md | 2 +- .../devkit/ImplicitJsonSubsetDependency.md | 2 +- docs/generated/devkit/JsonParseOptions.md | 8 +- docs/generated/devkit/JsonSerializeOptions.md | 2 +- docs/generated/devkit/Migration.md | 8 +- docs/generated/devkit/MigrationsJson.md | 12 +- docs/generated/devkit/NxAffectedConfig.md | 4 +- docs/generated/devkit/NxJsonConfiguration.md | 82 +- docs/generated/devkit/NxPlugin.md | 2 +- docs/generated/devkit/NxPluginV2.md | 18 +- docs/generated/devkit/OverwriteStrategy.md | 6 +- docs/generated/devkit/PluginConfiguration.md | 2 +- docs/generated/devkit/PostTasksExecution.md | 10 +- .../devkit/PostTasksExecutionContext.md | 10 +- docs/generated/devkit/PreTasksExecution.md | 10 +- .../devkit/PreTasksExecutionContext.md | 8 +- docs/generated/devkit/ProjectConfiguration.md | 26 +- docs/generated/devkit/ProjectFileMap.md | 2 +- docs/generated/devkit/ProjectGraph.md | 14 +- .../devkit/ProjectGraphDependency.md | 6 +- .../devkit/ProjectGraphExternalNode.md | 6 +- .../devkit/ProjectGraphProjectNode.md | 8 +- .../devkit/ProjectsConfigurations.md | 8 +- docs/generated/devkit/ProjectsMetadata.md | 2 +- docs/generated/devkit/PromiseExecutor.md | 10 +- docs/generated/devkit/README.md | 290 +- .../devkit/RawProjectGraphDependency.md | 6 +- docs/generated/devkit/RemoteCache.md | 4 +- .../devkit/StaleProjectGraphCacheError.md | 20 +- docs/generated/devkit/StaticDependency.md | 16 +- docs/generated/devkit/StringChange.md | 2 +- docs/generated/devkit/StringDeletion.md | 8 +- docs/generated/devkit/StringInsertion.md | 8 +- docs/generated/devkit/Target.md | 6 +- docs/generated/devkit/TargetConfiguration.md | 28 +- docs/generated/devkit/TargetDefaults.md | 2 +- .../devkit/TargetDependencyConfig.md | 8 +- docs/generated/devkit/Task.md | 24 +- docs/generated/devkit/TaskGraph.md | 10 +- docs/generated/devkit/TaskGraphExecutor.md | 14 +- docs/generated/devkit/TaskHasher.md | 76 +- docs/generated/devkit/TaskResult.md | 12 +- docs/generated/devkit/TaskResults.md | 4 +- docs/generated/devkit/Tree.md | 24 +- docs/generated/devkit/Workspace.md | 150 +- .../devkit/WorkspaceJsonConfiguration.md | 2 +- .../devkit/addDependenciesToPackageJson.md | 18 +- .../devkit/addProjectConfiguration.md | 12 +- docs/generated/devkit/applyChangesToString.md | 8 +- docs/generated/devkit/convertNxExecutor.md | 6 +- docs/generated/devkit/convertNxGenerator.md | 8 +- docs/generated/devkit/createNodesFromFiles.md | 12 +- .../createProjectFileMapUsingProjectGraph.md | 10 +- .../devkit/createProjectGraphAsync.md | 4 +- docs/generated/devkit/defaultTasksRunner.md | 28 +- docs/generated/devkit/detectPackageManager.md | 4 +- docs/generated/devkit/ensurePackage.md | 16 +- docs/generated/devkit/formatFiles.md | 10 +- docs/generated/devkit/generateFiles.md | 14 +- .../getOutputsForTargetAndConfiguration.md | 18 +- .../devkit/getPackageManagerCommand.md | 8 +- .../devkit/getPackageManagerVersion.md | 8 +- docs/generated/devkit/getProjects.md | 12 +- docs/generated/devkit/getWorkspaceLayout.md | 6 +- docs/generated/devkit/glob.md | 10 +- docs/generated/devkit/globAsync.md | 8 +- docs/generated/devkit/installPackagesTask.md | 12 +- docs/generated/devkit/isWorkspacesEnabled.md | 8 +- .../devkit/moveFilesToNewDirectory.md | 10 +- .../devkit/ngcli_adapter/NxScopedHost.md | 44 +- docs/generated/devkit/ngcli_adapter/README.md | 6 +- docs/generated/devkit/parseJson.md | 8 +- docs/generated/devkit/parseTargetString.md | 26 +- .../devkit/readCachedProjectGraph.md | 4 +- docs/generated/devkit/readJson.md | 10 +- docs/generated/devkit/readNxJson.md | 10 +- .../devkit/readProjectConfiguration.md | 12 +- ...adProjectsConfigurationFromProjectGraph.md | 12 +- docs/generated/devkit/readTargetOptions.md | 8 +- .../removeDependenciesFromPackageJson.md | 16 +- .../devkit/removeProjectConfiguration.md | 8 +- docs/generated/devkit/reverse.md | 10 +- docs/generated/devkit/runExecutor.md | 10 +- docs/generated/devkit/runTasksInSerial.md | 10 +- docs/generated/devkit/serializeJson.md | 8 +- docs/generated/devkit/targetToTargetString.md | 6 +- docs/generated/devkit/toJS.md | 8 +- docs/generated/devkit/updateJson.md | 12 +- docs/generated/devkit/updateNxJson.md | 8 +- .../devkit/updateProjectConfiguration.md | 10 +- docs/generated/devkit/updateTsConfigsToJs.md | 10 +- docs/generated/devkit/validateDependency.md | 10 +- docs/generated/devkit/visitNotIgnoredFiles.md | 10 +- docs/generated/devkit/writeJson.md | 12 +- docs/generated/manifests/ci.json | 2 +- docs/generated/manifests/extending-nx.json | 161 +- docs/generated/manifests/menus.json | 14140 ++++++++++------ docs/generated/manifests/new-nx-api.json | 5788 +++++++ docs/generated/manifests/nx.json | 11588 +++++++++---- docs/generated/manifests/tags.json | 1089 +- .../documents/angular-nx-version-matrix.md | 2 +- .../angular/documents/nx-and-angular.md | 6 +- .../documents/nx-devkit-angular-devkit.md | 2 +- .../packages/angular/documents/overview.md | 8 +- .../packages/cypress/documents/overview.md | 4 +- .../devkit/documents/ngcli_adapter.md | 6 +- .../packages/devkit/documents/nx_devkit.md | 290 +- .../packages/express/documents/overview.md | 4 +- .../nx-module-federation-dev-server-plugin.md | 2 +- .../documents/nx-module-federation-plugin.md | 2 +- .../packages/nest/documents/overview.md | 4 +- .../packages/next/documents/overview.md | 2 +- .../packages/nuxt/documents/overview.md | 2 +- .../packages/react/documents/overview.md | 2 +- .../storybook/documents/best-practices.md | 16 +- .../packages/storybook/documents/overview.md | 10 +- .../packages/webpack/documents/overview.md | 2 +- docs/map.json | 1850 +- docs/shared/concepts/inferred-tasks.md | 2 +- .../module-federation/faster-builds.md | 2 +- ...library-versions-with-module-federation.md | 2 +- .../micro-frontend-architecture.md | 8 +- .../module-federation-and-nx.md | 14 +- docs/shared/concepts/nx-plugins.md | 2 +- .../deprecated/angular-schematics-builders.md | 2 +- docs/shared/examples/tsc-batch-mode.md | 2 +- docs/shared/getting-started/editor-setup.md | 4 +- docs/shared/getting-started/intro.md | 2 +- docs/shared/guides/nx-and-angular-cli.md | 6 +- .../shared/guides/nx-devkit-angular-devkit.md | 2 +- docs/shared/guides/remix.md | 2 +- .../troubleshoot-convert-to-inferred.md | 6 +- .../use-environment-variables-in-react.md | 4 +- docs/shared/migration/from-turborepo.md | 84 +- docs/shared/migration/migration-angular.md | 4 +- .../angular/angular-nx-version-matrix.md | 2 +- .../shared/packages/angular/angular-plugin.md | 8 +- .../cypress/cypress-component-testing.md | 2 +- .../shared/packages/cypress/cypress-plugin.md | 4 +- .../shared/packages/express/express-plugin.md | 4 +- .../nx-module-federation-dev-server-plugin.md | 2 +- .../nx-module-federation-plugin.md | 2 +- docs/shared/packages/nest/nest-plugin.md | 4 +- docs/shared/packages/next/plugin-overview.md | 2 +- docs/shared/packages/nuxt/nuxt-plugin.md | 2 +- docs/shared/packages/react/react-plugin.md | 2 +- .../packages/storybook/best-practices.md | 16 +- .../packages/storybook/plugin-overview.md | 10 +- .../packages/webpack/plugin-overview.md | 2 +- .../packages/webpack/webpack-config-setup.md | 10 +- .../packages/webpack/webpack-plugins.md | 8 +- docs/shared/recipes/ci-deployment.md | 2 +- .../recipes/module-federation-with-ssr.md | 4 +- .../module-federation/creating-a-host.md | 4 +- .../module-federation/creating-a-remote.md | 2 +- .../module-federation/federate-a-module.md | 2 +- .../storybook/angular-configuring-styles.md | 2 +- .../storybook/angular-storybook-compodoc.md | 6 +- .../storybook/configuring-storybook.md | 2 +- .../one-storybook-with-composition.md | 4 +- .../recipes/storybook/plugin-angular.md | 4 +- .../define-secondary-entrypoints.md | 2 +- docs/shared/reference/commands.md | 54 +- docs/shared/reference/sitemap.md | 1723 +- docs/shared/tutorials/angular-monorepo.md | 6 +- docs/shared/tutorials/react-monorepo.md | 4 +- .../src/lib/documents.api.ts | 102 +- nx-dev/data-access-menu/src/lib/menu.utils.ts | 35 +- .../src/lib/packages.api.ts | 1 + .../src/lib/package-schema-list.tsx | 10 +- .../src/lib/package-schema-sub-list.tsx | 2 +- .../src/lib/ui/package-reference.tsx | 6 +- nx-dev/models-document/src/index.ts | 1 + nx-dev/models-document/src/lib/mappings.ts | 166 + .../src/lib/related-documents.utils.ts | 2 +- .../models-package/src/lib/package.models.ts | 1 - nx-dev/nx-dev/lib/new-packages.api.ts | 12 + nx-dev/nx-dev/lib/nx.api.ts | 3 + nx-dev/nx-dev/pages/[...segments].tsx | 253 +- .../nx-api/[name]/documents/[...segments].tsx | 14 +- .../pages/nx-api/[name]/documents/index.tsx | 14 +- .../nx-api/[name]/executors/[...segments].tsx | 14 +- .../pages/nx-api/[name]/executors/index.tsx | 12 +- .../[name]/generators/[...segments].tsx | 12 +- .../pages/nx-api/[name]/generators/index.tsx | 12 +- nx-dev/nx-dev/pages/nx-api/[name]/index.tsx | 12 +- .../pages/nx-api/[name]/migrations/index.tsx | 12 +- nx-dev/nx-dev/pages/nx-api/index.tsx | 11 +- nx-dev/nx-dev/pages/plugin-registry.tsx | 6 +- .../nx-dev/public/images/icons/buildtools.svg | 3 + nx-dev/nx-dev/public/images/icons/java.svg | 9 + .../nx-dev/public/images/icons/testtools.svg | 3 + .../nx-dev/public/images/icons/typescript.svg | 4 + nx-dev/nx-dev/redirect-rules.js | 51 + nx-dev/ui-common/src/lib/breadcrumbs.tsx | 1 + .../src/lib/headers/documentation-header.tsx | 13 +- nx-dev/ui-common/src/lib/sidebar.tsx | 215 +- nx-dev/ui-references/src/lib/icons-map.ts | 4 + .../generate-devkit-documentation.ts | 4 +- .../generators/generate-manifests.ts | 237 +- .../documentation/internal-link-checker.ts | 4 +- 265 files changed, 29494 insertions(+), 10819 deletions(-) create mode 100644 docs/generated/manifests/new-nx-api.json create mode 100644 nx-dev/models-document/src/lib/mappings.ts create mode 100644 nx-dev/nx-dev/lib/new-packages.api.ts create mode 100644 nx-dev/nx-dev/public/images/icons/buildtools.svg create mode 100644 nx-dev/nx-dev/public/images/icons/java.svg create mode 100644 nx-dev/nx-dev/public/images/icons/testtools.svg create mode 100644 nx-dev/nx-dev/public/images/icons/typescript.svg diff --git a/.gitattributes b/.gitattributes index 097f9f98d9..d27868c992 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,3 +7,5 @@ # These are Windows script files and should use crlf *.bat text eol=crlf +# Exclude files from Graphite reviews +docs/generated/* linguist-generated=true diff --git a/.gitignore b/.gitignore index 893b2561dd..48cf40c49d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ node_modules /.idea /.fleet /.vscode -/.cursor dist /build /coverage @@ -75,5 +74,27 @@ storybook-static .cursor/rules/nx-rules.mdc .github/instructions/nx.instructions.md -.cursor/rules/nx-rules.mdc -.github/instructions/nx.instructions.md + +# Added by Claude Task Master +# Logs +logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +dev-debug.log +# Dependency directories +node_modules/ +# Environment variables +.env +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +# OS specific +# Task files +tasks.json +tasks/ diff --git a/docs/blog/2021-12-17-mastering-the-project-boundaries-in-nx.md b/docs/blog/2021-12-17-mastering-the-project-boundaries-in-nx.md index f11b9d9fcb..435e4740ea 100644 --- a/docs/blog/2021-12-17-mastering-the-project-boundaries-in-nx.md +++ b/docs/blog/2021-12-17-mastering-the-project-boundaries-in-nx.md @@ -54,7 +54,7 @@ The `allow` array acts as a whitelist listing the import definitions that should The `depConstraints` section is the one you will be spending most time fine-tuning. It represents an array of constraints, each consisting of `sourceTag` and `onlyDependOnLibsWithTags` properties. The default configuration has a wildcard `*` set as a value for both of them, meaning that any project can import (depend on) any other project. -> Note, the wildcard only applies to libraries. Applications and E2E applications cannot be imported. It wouldn't make any sense. If you want to combine applications, you should use the [micro-frontends](/recipes/angular/dynamic-module-federation-with-angular) approach with the module federation. +> Note, the wildcard only applies to libraries. Applications and E2E applications cannot be imported. It wouldn't make any sense. If you want to combine applications, you should use the [micro-frontends](/technologies/angular/recipes/dynamic-module-federation-with-angular) approach with the module federation. The circular dependency chains such as `lib A -> lib B -> lib C -> lib A` are also not allowed. The self circular dependency (when lib imports from a named alias of itself), while not recommended, can be overridden by setting the flag `allowCircularSelfDependency` to true. diff --git a/docs/blog/2022-01-25-new-terminal-output-performance-improvements-in-nx-13-5.md b/docs/blog/2022-01-25-new-terminal-output-performance-improvements-in-nx-13-5.md index 18224e5d99..7d031f43bf 100644 --- a/docs/blog/2022-01-25-new-terminal-output-performance-improvements-in-nx-13-5.md +++ b/docs/blog/2022-01-25-new-terminal-output-performance-improvements-in-nx-13-5.md @@ -55,7 +55,7 @@ Thanks [Jason](https://twitter.com/FrozenPandaz) for working on this feature! ### React Native now supports Environment Variables Whenever you set up React Native support within an Nx workspace, it should now automatically come with the [react-native-config](https://github.com/luggit/react-native-config) package installed. That allows you to have a `.env` file in the React Native app folder which can then be loaded from within your React Native application. -You can find all the details on the [Nx docs](/recipes/react/react-native). +You can find all the details on the [Nx docs](/technologies/react/recipes/react-native). Thanks [Emily Xiong](https://twitter.com/xiongemily) for implementing this! diff --git a/docs/blog/2022-01-28-set-up-tailwind-css-with-angular-in-an-nx-workspace.md b/docs/blog/2022-01-28-set-up-tailwind-css-with-angular-in-an-nx-workspace.md index b7dcc3e9b6..861730af50 100644 --- a/docs/blog/2022-01-28-set-up-tailwind-css-with-angular-in-an-nx-workspace.md +++ b/docs/blog/2022-01-28-set-up-tailwind-css-with-angular-in-an-nx-workspace.md @@ -317,7 +317,7 @@ At this point, if we serve again the application, everything should still be wor Similar to the previous section we are going to start by creating a new library to add the card component to. The only difference is that this library is going to be buildable. -> If you are not aware of what buildable libraries are or what problem do they intend to solve, please make sure to read [/ci/incremental-builds](/recipes/angular/setup-incremental-builds-angular). +> If you are not aware of what buildable libraries are or what problem do they intend to solve, please make sure to read [/technologies/angular/recipes/setup-incremental-builds-angular](/technologies/angular/recipes/setup-incremental-builds-angular). Run the following command to generate the library: @@ -420,7 +420,7 @@ And finally, replace the existing markup for the cards in the `apps/app1/src/app With that in place, we can serve the application and it should be working exactly as before, but our application is still not fully set up to consume the library build output. As it stands right now, when the application that's consuming it is built, the library will be built together with it and its files will be processed as part of the application build pipeline. -To finish the buildable library setup, we can follow the instructions in [/recipes/angular/setup-incremental-builds-angular](/recipes/angular/setup-incremental-builds-angular). We need to install the `@nrwl/web` package, change the application `build` target executor to `@nrwl/angular:webpack-browser`, and change the application `serve` target executor to `@nrwl/web:file-server`: +To finish the buildable library setup, we can follow the instructions in [/technologies/angular/recipes/setup-incremental-builds-angular](/technologies/angular/recipes/setup-incremental-builds-angular). We need to install the `@nrwl/web` package, change the application `build` target executor to `@nrwl/angular:webpack-browser`, and change the application `serve` target executor to `@nrwl/web:file-server`: ```shell yarn add -D @nrwl/web@latest diff --git a/docs/blog/2022-03-29-the-react-cli-you-always-wanted-but-didnt-know-about.md b/docs/blog/2022-03-29-the-react-cli-you-always-wanted-but-didnt-know-about.md index 4d69690037..2c9511b37f 100644 --- a/docs/blog/2022-03-29-the-react-cli-you-always-wanted-but-didnt-know-about.md +++ b/docs/blog/2022-03-29-the-react-cli-you-always-wanted-but-didnt-know-about.md @@ -152,7 +152,7 @@ Let's have a closer look. The Nx core team strongly believes in the benefits of TypeScript (in fact, check out the [new Nx and TypeScript setup](/getting-started/intro)). As such, by default every project is automatically set up and configured to use TypeScript, making sure builds, as well as IDEs, are able to properly pick up TypeScript definitions. All without you having to worry about it. -Now, if you really want to use pure JavaScript you totally can. Just pass the `--js` when running a generator. Read [more on the docs](/recipes/tips-n-tricks/js-and-ts). +Now, if you really want to use pure JavaScript you totally can. Just pass the `--js` when running a generator. Read [more on the docs](/technologies/typescript/recipes/js-and-ts). ## ESLint preconfigured! diff --git a/docs/blog/2022-05-02-nx-v14-is-out-here-is-all-you-need-to-know.md b/docs/blog/2022-05-02-nx-v14-is-out-here-is-all-you-need-to-know.md index 3ffd278018..9c3e8efa98 100644 --- a/docs/blog/2022-05-02-nx-v14-is-out-here-is-all-you-need-to-know.md +++ b/docs/blog/2022-05-02-nx-v14-is-out-here-is-all-you-need-to-know.md @@ -197,14 +197,14 @@ This can be a game-changer when building huge apps. Stay tuned for more content We recommend this approach if you want to speed up local serve and build times, but you still deploy the application as a whole. -Read more in our docs: [/concepts/module-federation/faster-builds-with-module-federation](/concepts/module-federation/faster-builds-with-module-federation) +Read more in our docs: [/technologies/module-federation/concepts/faster-builds-with-module-federation](/technologies/module-federation/concepts/faster-builds-with-module-federation) ## Micro Frontend Architecture with Nx As mentioned in the previous section, Nx v14 comes with out-of-the-box for Webpack Module Federation. The Micro Frontend architecture builds on top of that and adds the ability for independent deployability. While Module Federation enables faster builds by vertically slicing your application into smaller ones, the MFE architecture layers _independent deployments_ on top of federation. Teams should only choose MFEs if they want to deploy their host and remotes on different cadences. -Read more in our docs: [/concepts/module-federation/micro-frontend-architecture](/concepts/module-federation/micro-frontend-architecture) +Read more in our docs: [/technologies/module-federation/concepts/micro-frontend-architecture](/technologies/module-federation/concepts/micro-frontend-architecture) ## Dark mode for Project Graph as well as path tracking diff --git a/docs/blog/2022-10-14-whats-new-in-nx-15.md b/docs/blog/2022-10-14-whats-new-in-nx-15.md index 6088caf669..04b053935e 100644 --- a/docs/blog/2022-10-14-whats-new-in-nx-15.md +++ b/docs/blog/2022-10-14-whats-new-in-nx-15.md @@ -215,7 +215,7 @@ Cypress v10 also comes with [Component Testing](https://docs.cypress.io/guides/c npx nx g @nrwl/react:cypress-component-configuration --project=your-projectnpx nx g @nrwl/angular:cypress-component-configuration --project=your-project ``` -Read more here: [/recipes/cypress/cypress-component-testing](/recipes/cypress/cypress-component-testing) +Read more here: [/technologies/test-tools/cypress/recipes/cypress-component-testing](/technologies/test-tools/cypress/recipes/cypress-component-testing) ## Angular: Improved Angular CLI Migrations and Standalone Components @@ -223,7 +223,7 @@ We landed generators to support Angular developers in leveraging the new standal {% tweet url="https://twitter.com/NxDevTools/status/1567513106380894215" /%} -In addition, we improved the migration support for moving projects from the Angular CLI to an Nx workspace. Whether for a single Angular CLI project or to consolidate multiple Angular CLI projects into a single Nx workspace. Please read all about it here: [/recipes/angular/migration/angular](/recipes/angular/migration/angular) +In addition, we improved the migration support for moving projects from the Angular CLI to an Nx workspace. Whether for a single Angular CLI project or to consolidate multiple Angular CLI projects into a single Nx workspace. Please read all about it here: [/technologies/angular/migration/angular](/technologies/angular/migration/angular) ## Easily add Nx to an existing repository diff --git a/docs/blog/2022-12-06-nx-15-3-standalone-projects-vite-task-graph-and-more.md b/docs/blog/2022-12-06-nx-15-3-standalone-projects-vite-task-graph-and-more.md index 9e7c0a68df..1ba5f9af9b 100644 --- a/docs/blog/2022-12-06-nx-15-3-standalone-projects-vite-task-graph-and-more.md +++ b/docs/blog/2022-12-06-nx-15-3-standalone-projects-vite-task-graph-and-more.md @@ -227,7 +227,7 @@ Check out our docs for all the details on - [adding Nx to an existing monorepo](/recipes/adopting-nx/adding-to-monorepo) - [adding Nx to any non-monorepo setup](/recipes/adopting-nx/adding-to-existing-project) - [migrating your CRA project to Nx](/recipes/adopting-nx/adding-to-existing-project) -- [migrating your Angular CLI app to Nx](/recipes/angular/migration/angular) +- [migrating your Angular CLI app to Nx](/technologies/angular/migration/angular) Oh..you're wondering why you would want to add Nx to an existing non-monorepo project? Then keep reading 👇 diff --git a/docs/blog/2022-12-22-nx-15-4-vite-4-support-a-new-nx-watch-command-and-more.md b/docs/blog/2022-12-22-nx-15-4-vite-4-support-a-new-nx-watch-command-and-more.md index 525abfe5c7..f066ff0ee1 100644 --- a/docs/blog/2022-12-22-nx-15-4-vite-4-support-a-new-nx-watch-command-and-more.md +++ b/docs/blog/2022-12-22-nx-15-4-vite-4-support-a-new-nx-watch-command-and-more.md @@ -38,7 +38,7 @@ We've also spent some effort into making the conversion of existing projects to - enhanced `vite.config.ts` file configuration - better DX with detailed messages during conversion - [better documentation around converting using our generator](/nx-api/vite/generators/configuration) -- [adding a guide to our docs for converting manually](/recipes/vite/configure-vite) +- [adding a guide to our docs for converting manually](/technologies/build-tools/vite/recipes/configure-vite) You can check out more details about our Vite plugin including how to add Vite and Vitest to your existing Nx workspace by visiting our docs at [nx.dev/nx-api/vite](/nx-api/vite) @@ -96,7 +96,7 @@ Our existing `host` and `remote` Module Federation generators have an added `--s We've also added a new executor to allow you to serve the host server locally, along with all remote servers from a single command. -Learn more about this new feature [in our docs](/recipes/react/module-federation-with-ssr)! +Learn more about this new feature [in our docs](/technologies/react/recipes/module-federation-with-ssr)! ## Running Multiple Targets in Parallel for Multiple Projects diff --git a/docs/blog/2023-01-10-setting-up-module-federation-with-server-side-rendering-for-angular.md b/docs/blog/2023-01-10-setting-up-module-federation-with-server-side-rendering-for-angular.md index 0d28275869..48a0991ece 100644 --- a/docs/blog/2023-01-10-setting-up-module-federation-with-server-side-rendering-for-angular.md +++ b/docs/blog/2023-01-10-setting-up-module-federation-with-server-side-rendering-for-angular.md @@ -13,7 +13,7 @@ This technology has enabled a much cleaner approach to Micro Frontend Architectu Nx offers great out-of-the-box support and developer experience for Module Federation for Angular and React. You can learn more about it from the resources below: -📄 [Module Federation Recipes on Nx](/recipes/module-federation) +📄 [Module Federation Recipes on Nx](/technologies/module-federation/recipes) 📺 [Speed up your Angular serve and build times with Module Federation and Nx](https://www.youtube.com/watch?v=JkcaGzhRjkc) However, until now, it has only supported Client-Side Rendering (CSR). Essentially it worked only for Single Page Applications (SPAs). While this is still valuable, it is becoming ever more apparent that Server-Side Rendering (SSR) is becoming the de-facto standard for building web applications, due to the multitude of benefits it provides. diff --git a/docs/blog/2023-02-16-nx-15-7-node-support-angular-lts-lockfile-pruning.md b/docs/blog/2023-02-16-nx-15-7-node-support-angular-lts-lockfile-pruning.md index 6a900dfc0c..21de28c325 100644 --- a/docs/blog/2023-02-16-nx-15-7-node-support-angular-lts-lockfile-pruning.md +++ b/docs/blog/2023-02-16-nx-15-7-node-support-angular-lts-lockfile-pruning.md @@ -151,7 +151,7 @@ Inspired by our new [Vite setup](/nx-api/vite), which allows for a more modular ![](/blog/images/2023-02-16/emRP2gF7umWc4UE-.avif) -If you want to upgrade but still retain the previous behavior, we introduced an `isolatedConfig` mode that can be set to `false`. More details in our docs: [/recipes/webpack/webpack-config-setup](/recipes/webpack/webpack-config-setup) +If you want to upgrade but still retain the previous behavior, we introduced an `isolatedConfig` mode that can be set to `false`. More details in our docs: [/technologies/build-tools/webpack/recipes/webpack-config-setup](/technologies/build-tools/webpack/recipes/webpack-config-setup) ## How to Update Nx diff --git a/docs/blog/2023-03-08-nx-15-8-rust-hasher-nx-console-for-intellij-deno-node-and-storybook.md b/docs/blog/2023-03-08-nx-15-8-rust-hasher-nx-console-for-intellij-deno-node-and-storybook.md index 83c91a4ae3..ac2778f028 100644 --- a/docs/blog/2023-03-08-nx-15-8-rust-hasher-nx-console-for-intellij-deno-node-and-storybook.md +++ b/docs/blog/2023-03-08-nx-15-8-rust-hasher-nx-console-for-intellij-deno-node-and-storybook.md @@ -180,7 +180,7 @@ Check out the following video walkthrough on using these features for modularizi ## Storybook -Nx now generates stories using [Component Storybook Format 3 (CSF3)](https://storybook.js.org/blog/storybook-csf3-is-here/). If you are using our `@nrwl/react:storybook-configuration`, `@nrwl/angular:storybook-configuration`, `@nrwl/react:stories` and `@nrwl/angular:stories` generators, you will notice that the stories are now generated in the new format. You can check out our documentation for [Storybook and Angular](/recipes/storybook/overview-angular) or [Storybook and React](/recipes/storybook/overview-react) to see the new syntax. +Nx now generates stories using [Component Storybook Format 3 (CSF3)](https://storybook.js.org/blog/storybook-csf3-is-here/). If you are using our `@nrwl/react:storybook-configuration`, `@nrwl/angular:storybook-configuration`, `@nrwl/react:stories` and `@nrwl/angular:stories` generators, you will notice that the stories are now generated in the new format. You can check out our documentation for [Storybook and Angular](/technologies/test-tools/storybook/recipes/overview-angular) or [Storybook and React](/technologies/test-tools/storybook/recipes/overview-react) to see the new syntax. As the Storybook doc mentions, CSF3 _reduces boilerplate code and improves ergonomics. This makes stories more concise, faster to write and easier to maintain._ diff --git a/docs/blog/2023-05-02-nx-16-is-here.md b/docs/blog/2023-05-02-nx-16-is-here.md index 04f3a9113a..035c9f9497 100644 --- a/docs/blog/2023-05-02-nx-16-is-here.md +++ b/docs/blog/2023-05-02-nx-16-is-here.md @@ -81,8 +81,8 @@ Nx has had support for developing Node-based backends for a while. It was a popu It’s all about **Edge functions** recently (and, well, serverless in general). Especially when developing with Node it is common that you might want to deploy to the Edge or some serverless environment. Therefore, we.. -- created a brand new `@nx/netlify` package (currently [in labs](https://github.com/nrwl/nx-labs/tree/main/packages/netlify)) which allows you to set up a brand new project for developing and pushing Netlify functions, or you can add serverless deployment support to an existing project, using the `@nx/netlify:setup-serverless` generator. Check out our in-depth recipe on the topic: [/recipes/node/node-serverless-functions-netlify](/recipes/node/node-serverless-functions-netlify) -- published anew `@nx/aws-lambda` for deploying [Lambda functions](https://aws.amazon.com/lambda/) to AWS. All details in our latest recipe: [/recipes/node/node-aws-lambda](/recipes/node/node-aws-lambda) +- created a brand new `@nx/netlify` package (currently [in labs](https://github.com/nrwl/nx-labs/tree/main/packages/netlify)) which allows you to set up a brand new project for developing and pushing Netlify functions, or you can add serverless deployment support to an existing project, using the `@nx/netlify:setup-serverless` generator. Check out our in-depth recipe on the topic: [/technologies/node/recipes/node-serverless-functions-netlify](/technologies/node/recipes/node-serverless-functions-netlify) +- published anew `@nx/aws-lambda` for deploying [Lambda functions](https://aws.amazon.com/lambda/) to AWS. All details in our latest recipe: [/technologies/node/recipes/node-aws-lambda](/technologies/node/recipes/node-aws-lambda) - Improved our existing Deno package to add support for serverless deployment to both Deno Deploy as well as Netlify. Such support can be added to an existing app using the `@nx/deno:setup-serverless` generator and providing the `--platform` flag that either point to `deno-deploy` or `netlify`. ## Cypress Feature Testing diff --git a/docs/blog/2023-05-26-determine-your-user-location-with-netlify-edge-functions.md b/docs/blog/2023-05-26-determine-your-user-location-with-netlify-edge-functions.md index 40a813bbd7..ae38eca6bb 100644 --- a/docs/blog/2023-05-26-determine-your-user-location-with-netlify-edge-functions.md +++ b/docs/blog/2023-05-26-determine-your-user-location-with-netlify-edge-functions.md @@ -102,7 +102,7 @@ By following these steps, you've successfully used `@nx/netlify` serverless func ### Wrapping up Never used Nx before? Learn more about Nx [here](/getting-started/why-nx). -[Official recipe from Nx](/recipes/node/node-serverless-functions-netlify) +[Official recipe from Nx](/technologies/node/recipes/node-serverless-functions-netlify) [Github example](https://github.com/ndcunningham/nx-netlify-serverless) ### Learn more diff --git a/docs/blog/2023-07-06-nx-16-5-release.md b/docs/blog/2023-07-06-nx-16-5-release.md index 9b15f34ca5..bc49f19edf 100644 --- a/docs/blog/2023-07-06-nx-16-5-release.md +++ b/docs/blog/2023-07-06-nx-16-5-release.md @@ -25,7 +25,7 @@ With this new feature, you can add the `--tag` option to the [`nx affected`](/nx ## NextJS 13 Support -React Server Components and the new NextJS app router are here, and Nx is here to support them. We've added support for the latest versions of Next — complete with generators and executors. We've also made sure that our [`withNx` NextJS plugin](/recipes/next/next-config-setup), which allows you to import from your other projects in your workspace while still working with the NextJS build scripts, works both for workspaces using our executors in an Integrated Monorepo approach, as well as for those using a Package-Based approach that are simply using the `next dev` command directly to start their dev server. +React Server Components and the new NextJS app router are here, and Nx is here to support them. We've added support for the latest versions of Next — complete with generators and executors. We've also made sure that our [`withNx` NextJS plugin](/technologies/react/next/recipes/next-config-setup), which allows you to import from your other projects in your workspace while still working with the NextJS build scripts, works both for workspaces using our executors in an Integrated Monorepo approach, as well as for those using a Package-Based approach that are simply using the `next dev` command directly to start their dev server. There's also built-in support for the new turbopack builder option via the `--turbo` command, for example: `nx serve webapp --turbo` diff --git a/docs/blog/2023-08-03-storybook-interaction-tests-in-nx.md b/docs/blog/2023-08-03-storybook-interaction-tests-in-nx.md index 0e4525acc0..9bbbb3d5ed 100644 --- a/docs/blog/2023-08-03-storybook-interaction-tests-in-nx.md +++ b/docs/blog/2023-08-03-storybook-interaction-tests-in-nx.md @@ -25,7 +25,7 @@ You write a story to set up the component's initial state, simulate user behavio ## Setting Up Storybook Interaction Tests on Nx -You can read our detailed guide on how to set up Storybook interaction tests on Nx, here: [/recipes/storybook/storybook-interaction-tests](/recipes/storybook/storybook-interaction-tests). +You can read our detailed guide on how to set up Storybook interaction tests on Nx, here: [/technologies/test-tools/storybook/recipes/storybook-interaction-tests](technologies/test-tools/storybook/recipes/storybook-interaction-tests). ## Writing Interaction Tests in Storybook @@ -63,7 +63,7 @@ Moreover, since Storybook isolates each component, you can ensure that the tests ## Useful Links - [https://storybook.js.org/docs/react/writing-tests/interaction-testing](https://storybook.js.org/docs/react/writing-tests/interaction-testing) -- [/recipes/storybook/storybook-interaction-tests](/recipes/storybook/storybook-interaction-tests) +- [/technologies/test-tools/storybook/recipes/storybook-interaction-tests](technologies/test-tools/storybook/recipes/storybook-interaction-tests) ## Learn more diff --git a/docs/blog/2023-12-28-highlights-2023.md b/docs/blog/2023-12-28-highlights-2023.md index 2bae3a4ff3..cc1140b62e 100644 --- a/docs/blog/2023-12-28-highlights-2023.md +++ b/docs/blog/2023-12-28-highlights-2023.md @@ -252,7 +252,7 @@ Simply put, Module Federation allows a Javascript application running in a brows This is an exciting development as it allows a paradigm shift in how you can architect, build, and deploy Javascript applications! And this is especially exciting for monorepo fans, as Nx has best-in-class support for module federation that makes a Module Federation approach easy to adopt and simple to understand! -Currently, our `@nx/angular` and `@nx/react` plugins both have generators to [create a "host" application](/recipes/module-federation/create-a-host) that will load and consume federated modules from ["remote" applications](/recipes/module-federation/create-a-remote), which you can also generate using Nx. Then, by running a simple command with Nx, you can serve all applications required for your host application with the command: +Currently, our `@nx/angular` and `@nx/react` plugins both have generators to [create a "host" application](/technologies/module-federation/recipes/create-a-host) that will load and consume federated modules from ["remote" applications](/technologies/module-federation/recipes/create-a-remote), which you can also generate using Nx. Then, by running a simple command with Nx, you can serve all applications required for your host application with the command: ```shell nx serve host-application --devRemotes=remote-application @@ -260,9 +260,9 @@ nx serve host-application --devRemotes=remote-application Where in the example above your host application is named "host-application" and a remote application that you want live updates on as you're developing is named "remote-application". -Throughout 2023, we've continued to increase Nx's support and general dev experience around Module Federation, including [adding a generator to federate an existing module](/recipes/module-federation/federate-a-module), improving the local developer experience by improving local webserver performance, and introducing the concept of [Dynamic Module Federation](/recipes/angular/dynamic-module-federation-with-angular#advanced-angular-micro-frontends-with-dynamic-module-federation) which will allow you to dynamically specify the location of your remote applications via a "module-federation.manifest.json" file! +Throughout 2023, we've continued to increase Nx's support and general dev experience around Module Federation, including [adding a generator to federate an existing module](/technologies/module-federation/recipes/federate-a-module), improving the local developer experience by improving local webserver performance, and introducing the concept of [Dynamic Module Federation](/technologies/angular/recipes/dynamic-module-federation-with-angular#advanced-angular-micro-frontends-with-dynamic-module-federation) which will allow you to dynamically specify the location of your remote applications via a "module-federation.manifest.json" file! -At Nx, we're excited about the Module Federation support we offer for our users, and think that it has many interesting applications when paired with Nx's CI capabilities, in particular allowing for [much shorter build times](/concepts/module-federation/faster-builds-with-module-federation) especially for larger Angular applications. +At Nx, we're excited about the Module Federation support we offer for our users, and think that it has many interesting applications when paired with Nx's CI capabilities, in particular allowing for [much shorter build times](/technologies/module-federation/concepts/faster-builds-with-module-federation) especially for larger Angular applications. ## Many OSS repos adopt Nx diff --git a/docs/blog/2024-08-01-nx-19-5-update.md b/docs/blog/2024-08-01-nx-19-5-update.md index de8da80dbd..f366ef2826 100644 --- a/docs/blog/2024-08-01-nx-19-5-update.md +++ b/docs/blog/2024-08-01-nx-19-5-update.md @@ -259,7 +259,7 @@ Fetching @angular/core@18.1.2 NX The migrate command has run successfully. ``` -Our `@nx/react` package will now create new React applications using version 18.3, and we now support the new experimental `reactCompiler`. Users can install the [`babel-plugin-react-compiler` package](https://www.npmjs.com/package/babel-plugin-react-compiler) and you can follow [this guide for how to enable it with Nx](/recipes/react/react-compiler#react-compiler-with-nx). +Our `@nx/react` package will now create new React applications using version 18.3, and we now support the new experimental `reactCompiler`. Users can install the [`babel-plugin-react-compiler` package](https://www.npmjs.com/package/babel-plugin-react-compiler) and you can follow [this guide for how to enable it with Nx](/technologies/react/recipes/react-compiler#react-compiler-with-nx). Note that due to the extent of breaking changes coming with React 19, we will not be providing a automated migration to React 19 via [`nx migrate`](/nx-api/nx/documents/migrate). diff --git a/docs/blog/2024-09-12-next-gen-module-federation-deployments.md b/docs/blog/2024-09-12-next-gen-module-federation-deployments.md index 510b2d115e..ebe726c1f6 100644 --- a/docs/blog/2024-09-12-next-gen-module-federation-deployments.md +++ b/docs/blog/2024-09-12-next-gen-module-federation-deployments.md @@ -94,7 +94,7 @@ generator now to scaffold out Module Federation projects. {% callout type="note" title="Generating host applications" %} If you'd like a more indepth recipe for scaffolding `host` and `remote` generators you can take a look through -our [Module Federation Recipes](/recipes/module-federation). +our [Module Federation Recipes](/technologies/module-federation/recipes). {% /callout %} ```{% command="npx nx g @nx/react:host apps/shell --remotes=remote1 --bundler=rspack" path="~/myorg" %} @@ -173,7 +173,7 @@ Nx itself has employed this strategy to solve a long-standing issue with shared the possibility that a shared library would be served from a static remote. This in turn would prevent HMR updates to the library from being reflected in the locally served application. You can learn more about the -`NxRuntimeLibraryControlPlugin` [here](/concepts/module-federation/nx-module-federation-technical-overview). +`NxRuntimeLibraryControlPlugin` [here](/technologies/module-federation/concepts/nx-module-federation-technical-overview). {% /callout %} ## Step 4: Building and Serving @@ -203,7 +203,7 @@ Serving statically means that we can reuse the build artifacts for the `remotes` that is scalable. Combined with Nx caching, this works well to ensure a great developer experience. You can learn more about how this works in -our [Nx Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview#what-happens-when-you-serve-your-host) +our [Nx Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview#what-happens-when-you-serve-your-host) document. {% /callout %} diff --git a/docs/blog/2024-09-20-nx-19-8.md b/docs/blog/2024-09-20-nx-19-8.md index 6f154824ed..31e61105f0 100644 --- a/docs/blog/2024-09-20-nx-19-8.md +++ b/docs/blog/2024-09-20-nx-19-8.md @@ -62,7 +62,7 @@ With Nx 19.8, we've added a [`infer-targets`](/recipes/running-tasks/convert-to- When creating a new workspace with the command: `npx create-nx-workspace`, those workspaces will now be created with [`eslint`](https://www.npmjs.com/package/eslint) v9, and [`typescript-eslint`](https://www.npmjs.com/package/typescript-eslint) v8 - their most recent versions respectively. -Keep in mind as well that ESLint v8 faces end-of-life on October 5th, meaning only [flat config](https://eslint.org/docs/latest/use/configure/migration-guide) is supported moving forward. Nx users should migrate to this new config format using [our flat config generator](/recipes/tips-n-tricks/flat-config#switching-to-eslints-flat-config-format). +Keep in mind as well that ESLint v8 faces end-of-life on October 5th, meaning only [flat config](https://eslint.org/docs/latest/use/configure/migration-guide) is supported moving forward. Nx users should migrate to this new config format using [our flat config generator](/technologies/eslint/recipes/flat-config#switching-to-eslints-flat-config-format). For more on eslint's flat config, and how to use our generator to get to flat config checkout this video: diff --git a/docs/blog/2024-10-03-nx-20-release.md b/docs/blog/2024-10-03-nx-20-release.md index 2ce81e409a..f8ddae8bed 100644 --- a/docs/blog/2024-10-03-nx-20-release.md +++ b/docs/blog/2024-10-03-nx-20-release.md @@ -65,7 +65,7 @@ npx nx e2e myapp-e2e In [Nx 19.8](/blog/nx-19-8-update#new-nx-workspaces-created-with-eslint-v9), we highlighted that workspaces will now be created with [`eslint`](https://www.npmjs.com/package/eslint) v9, and [`typescript-eslint`](https://www.npmjs.com/package/typescript-eslint) v8. -This not only brings us inline with the latest version of eslint and typescript-eslint, but also that [flat config](https://eslint.org/docs/latest/use/configure/migration-guide) is only supported moving forward. Nx users should migrate to this new config format using [our flat config generator](/recipes/tips-n-tricks/flat-config#switching-to-eslints-flat-config-format). +This not only brings us inline with the latest version of eslint and typescript-eslint, but also that [flat config](https://eslint.org/docs/latest/use/configure/migration-guide) is only supported moving forward. Nx users should migrate to this new config format using [our flat config generator](/technologies/eslint/recipes/flat-config#switching-to-eslints-flat-config-format). For more on eslint's flat config, and how to use our generator to get to flat config checkout this video: diff --git a/docs/blog/2024-12-22-nx-highlights-2024.md b/docs/blog/2024-12-22-nx-highlights-2024.md index c70578cb3a..5f62a2c9b8 100644 --- a/docs/blog/2024-12-22-nx-highlights-2024.md +++ b/docs/blog/2024-12-22-nx-highlights-2024.md @@ -147,7 +147,7 @@ We also adopted **Module Federation 2.0**, adding runtime plugins and key enhanc To simplify setup, we launched **@nx/module-federation**, a package that streamlines configuration and management of federated apps in Nx workspaces. Nx's approach to Module Federation has been highlighted by the community and is now featured on [module-federation.io](https://module-federation.io/practice/monorepos/nx-for-module-federation.html). -For more details on how Module Federation works in Nx, check out the [technical overview](/concepts/module-federation/nx-module-federation-technical-overview) or catch one of our [live streams on Rspack and Module Federation](https://www.youtube.com/watch?v=_c4zjYm0pYE). +For more details on how Module Federation works in Nx, check out the [technical overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview) or catch one of our [live streams on Rspack and Module Federation](https://www.youtube.com/watch?v=_c4zjYm0pYE). ### Nx Console diff --git a/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md b/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md index 6a4c875861..d37de6ded3 100644 --- a/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md +++ b/docs/blog/2025-01-28-managing-ts-pkgs-in-monorepos.md @@ -663,7 +663,7 @@ npx create-nx-workspace mymonorepo --workspaces Also check out our docs: - [TypeScript Project Linking](/concepts/typescript-project-linking) -- [Switching to Workspaces and Project References](/recipes/tips-n-tricks/switch-to-workspaces-project-references) +- [Switching to Workspaces and Project References](/technologies/typescript/recipes/switch-to-workspaces-project-references) --- diff --git a/docs/blog/2025-01-31-over-the-air-updates-with-zephyr.md b/docs/blog/2025-01-31-over-the-air-updates-with-zephyr.md index 4cc47b8e4e..f1fd26bc3c 100644 --- a/docs/blog/2025-01-31-over-the-air-updates-with-zephyr.md +++ b/docs/blog/2025-01-31-over-the-air-updates-with-zephyr.md @@ -7,7 +7,7 @@ cover_image: /blog/images/2025-01-31/cover-image.jpg description: 'Deploy React Native app updates instantly with Module Federation and Zephyr Cloud, skipping app store review processes.' --- -Module Federation is an exciting and continually evolving technology. The use cases for Module Federation have expanded from [Micro Frontends](/concepts/module-federation/micro-frontend-architecture) and [Faster Builds](/concepts/module-federation/faster-builds-with-module-federation) to also include something that should be extremely interesting for React Native users. +Module Federation is an exciting and continually evolving technology. The use cases for Module Federation have expanded from [Micro Frontends](/technologies/module-federation/concepts/micro-frontend-architecture) and [Faster Builds](/technologies/module-federation/concepts/faster-builds-with-module-federation) to also include something that should be extremely interesting for React Native users. Thanks to the wonderful work from the [Re.Pack](https://re-pack.dev/) team at [Callstack](https://www.callstack.com/) and [Zephyr Cloud](https://www.zephyr-cloud.io/) now you can provide over-the-air (OTA) updates to your deployed native mobile apps by running a build from your laptop - without having to deal with the difficulties or time-consuming process of deploying a new binary to each of the app stores your application is deployed to. diff --git a/docs/blog/2025-03-07-nx-update-20-5.md b/docs/blog/2025-03-07-nx-update-20-5.md index 9b9612b218..2ed6f99a74 100644 --- a/docs/blog/2025-03-07-nx-update-20-5.md +++ b/docs/blog/2025-03-07-nx-update-20-5.md @@ -8,13 +8,13 @@ description: Discover the latest in Nx 20.5, featuring TypeScript project refere youtubeUrl: https://youtu.be/IujhR3-Iidk --- -Time moves fast, and so do Nx releases. Let’s catch up with the latest development on Nx since our [last release post for 20.3](/blog/nx-update-20-3#rfc-for-infinite-tasks). +Time moves fast, and so do Nx releases. Let's catch up with the latest development on Nx since our [last release post for 20.3](/blog/nx-update-20-3#rfc-for-infinite-tasks). {% toc /%} ## LLM improvements galore -We think that monorepos are the solution to better AI-assisted development, and we’re doing the work to support that. We’ve recently released updates that enhance the LLM experience for both [Copilot](/blog/nx-just-made-your-llm-smarter) and [Cursor](/blog/nx-made-cursor-smarter). +We think that monorepos are the solution to better AI-assisted development, and we're doing the work to support that. We've recently released updates that enhance the LLM experience for both [Copilot](/blog/nx-just-made-your-llm-smarter) and [Cursor](/blog/nx-made-cursor-smarter). AI-powered coding assistants can edit files, but they're blind to the bigger picture – they don't understand how your entire codebase fits together. Nx changes that. With full visibility into your monorepo's project relationships, dependencies, and ownership, Nx enables your LLM to move beyond local file changes by providing this essential monorepo context. @@ -24,7 +24,7 @@ Take each of these for a spin and then [sign up for our webinar](/blog/are-monor ## TypeScript project references improvements -ICYMI, we announced a [new experience for TypeScript monorepos](/blog/new-nx-experience-for-typescript-monorepos) in January. The new setup is [faster, more efficient in memory use](/blog/new-nx-experience-for-typescript-monorepos#key-highlight-performance), and fixes common issues with TypeScript editor support for large monorepos. Since then, we’ve steadily improved this experience with many performance and quality-of-life improvements. +ICYMI, we announced a [new experience for TypeScript monorepos](/blog/new-nx-experience-for-typescript-monorepos) in January. The new setup is [faster, more efficient in memory use](/blog/new-nx-experience-for-typescript-monorepos#key-highlight-performance), and fixes common issues with TypeScript editor support for large monorepos. Since then, we've steadily improved this experience with many performance and quality-of-life improvements. One of the significant improvements is that you can now run tasks with a partial match of the project name rather than needing to use the full name every time. Say you have these projects: @@ -60,15 +60,15 @@ Additionally, when running migrations, the terminal will provide links for each ## ESM support for eslint config -`@nx/eslint` now uses ESM for configuration by default. This means that new workspaces will use ESM. Existing workspaces will continue to use CommonJS. We don’t currently have a migration path between CommonJS and ESM because of the possibility to break something in your lint rules. Both CommonJS and ESM will be supported for the near future. +`@nx/eslint` now uses ESM for configuration by default. This means that new workspaces will use ESM. Existing workspaces will continue to use CommonJS. We don't currently have a migration path between CommonJS and ESM because of the possibility to break something in your lint rules. Both CommonJS and ESM will be supported for the near future. ## React 19 support for new workspaces -New Nx workspaces now default to React 19. Note that due to the extent of breaking changes coming with React 19, we will not be providing an automated migration to React 19 via [**`nx migrate`**](/nx-api/nx/documents/migrate). If you’re ready to make this migration on your own, [see our docs about using the new `reactCompiler`](/recipes/react/react-compiler#react-compiler-with-nx) +New Nx workspaces now default to React 19. Note that due to the extent of breaking changes coming with React 19, we will not be providing an automated migration to React 19 via [**`nx migrate`**](/nx-api/nx/documents/migrate). If you're ready to make this migration on your own, [see our docs about using the new `reactCompiler`](/technologies/react/recipes/react-compiler#react-compiler-with-nx) ## Angular 19.2 support -`@nx/angular` now supports up to Angular 19.2 Time to give their new experimental [Resources API](https://angular.dev/guide/signals/resource) a try! If you’re not quite ready to upgrade your version of Angular, remember that you can migrate to the latest Nx while keeping your current version of Angular using the `--interactive` flag during migration. [See our docs for more details](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply). +`@nx/angular` now supports up to Angular 19.2 Time to give their new experimental [Resources API](https://angular.dev/guide/signals/resource) a try! If you're not quite ready to upgrade your version of Angular, remember that you can migrate to the latest Nx while keeping your current version of Angular using the `--interactive` flag during migration. [See our docs for more details](/recipes/tips-n-tricks/advanced-update#choosing-optional-package-updates-to-apply). ## Vite 6 + Vitest 3 support @@ -76,7 +76,7 @@ New Nx workspaces now default to React 19. Note that due to the extent of breaki ## Update on Infinite Tasks/Continuous Tasks -In our [20.3 release post](/blog/nx-update-20-3#rfc-for-infinite-tasks), we introduced an RFC for “Infinite Tasks” (now called [Continuous Tasks](https://github.com/nrwl/nx/discussions/29025)). Nx will add the concept of **Continuous tasks** which Nx will orchestrate as part of the task graph. This will allow for tasks to depend on other running tasks in addition how it already allows depending on other completed tasks. This will allow for better support of long-running tasks like backend servers for frontend applications that depend on them, or tools that run in a watch mode. We’ve been hard at work implementing this feature, and you can look forward to a beta version before the release of Nx 21. +In our [20.3 release post](/blog/nx-update-20-3#rfc-for-infinite-tasks), we introduced an RFC for "Infinite Tasks" (now called [Continuous Tasks](https://github.com/nrwl/nx/discussions/29025)). Nx will add the concept of **Continuous tasks** which Nx will orchestrate as part of the task graph. This will allow for tasks to depend on other running tasks in addition how it already allows depending on other completed tasks. This will allow for better support of long-running tasks like backend servers for frontend applications that depend on them, or tools that run in a watch mode. We've been hard at work implementing this feature, and you can look forward to a beta version before the release of Nx 21. ## Fixes and improvements diff --git a/docs/blog/2025-03-18-architecting-angular-applications.md b/docs/blog/2025-03-18-architecting-angular-applications.md index 3b88ccb6f9..5dc900431f 100644 --- a/docs/blog/2025-03-18-architecting-angular-applications.md +++ b/docs/blog/2025-03-18-architecting-angular-applications.md @@ -158,7 +158,7 @@ It uses Nx for running and building your project. Nx relies on the Angular Devki } ``` -If you have an existing Angular CLI project, you can also [add Nx support to it](/recipes/angular/migration/angular) by running: +If you have an existing Angular CLI project, you can also [add Nx support to it](/technologies/angular/migration/angular) by running: ```shell npx nx init diff --git a/docs/blog/2025-03-19-using-angular-with-rspack.md b/docs/blog/2025-03-19-using-angular-with-rspack.md index 7f297e5a65..a86a4c9811 100644 --- a/docs/blog/2025-03-19-using-angular-with-rspack.md +++ b/docs/blog/2025-03-19-using-angular-with-rspack.md @@ -71,7 +71,7 @@ The steps are very simple: 1. Run `nx migrate latest` to update your workspace to the latest version of Nx. 2. Run `nx g @nx/angular:convert-to-rspack` to migrate your Angular application to Rspack. -There is also a [guide in our documentation](/recipes/angular/rspack/migrate-from-webpack) that walks you through the process step-by-step. +There is also a [guide in our documentation](/technologies/angular/angular-rspack/recipes/migrate-from-webpack) that walks you through the process step-by-step. Even if you're currently using the Angular CLI, it's as simple as first running `npx nx init` in your workspace and then running `npx nx g convert-to-rspack`. ## Using Angular Rspack @@ -226,7 +226,7 @@ Exciting times ahead! You can follow our progress by starring the [Angular Rspac ## Further Reading -- [Nx Angular Rspack](/recipes/angular/rspack/introduction) +- [Nx Angular Rspack](/technologies/angular/angular-rspack/introduction) - [Angular](https://angular.dev) - [Rspack](https://rspack.dev) - 🧠 [Nx Docs](/getting-started/intro) diff --git a/docs/blog/2025-04-14-scaffold-angular-rspack-applications.md b/docs/blog/2025-04-14-scaffold-angular-rspack-applications.md index cd482c74c7..4d2d025b1c 100644 --- a/docs/blog/2025-04-14-scaffold-angular-rspack-applications.md +++ b/docs/blog/2025-04-14-scaffold-angular-rspack-applications.md @@ -34,7 +34,7 @@ Docusaurus has even [reported that switching to Rspack has resulted in a 2x-4x f However, Angular’s Webpack build pipeline proved to be an issue. It had not been possible to use Rspack as a drop-in replacement for Angular applications. -Which is why [Angular Rspack](/recipes/angular/rspack/introduction) was created. +Which is why [Angular Rspack](/technologies/angular/angular-rspack/introduction) was created. ## Angular Rspack @@ -46,7 +46,7 @@ Angular Rspack provides Rspack Plugins and Loaders that makes it possible to bui You can learn more about Angular Rspack from the resources below: -- [Angular Rspack - Introduction](/recipes/angular/rspack/introduction) +- [Angular Rspack - Introduction](/technologies/angular/angular-rspack/introduction) - [Using Rspack with Angular](/blog/using-rspack-with-angular) {% /callout %} @@ -64,7 +64,7 @@ From the benchmark results below, you can see the vast improvement using Angular You can see that the results from Rspack are comparable to the results provided by Angular’s Esbuild build pipeline. -That said, it is worth noting that there are still currently some [known limitations and missing features](/recipes/angular/rspack/introduction#known-limitations-and-missing-features). +That said, it is worth noting that there are still currently some [known limitations and missing features](/technologies/angular/angular-rspack/introduction#known-limitations-and-missing-features). ## Why Choose Rspack for New Projects? @@ -121,7 +121,7 @@ npx nx g @nx/angular:app myapp --bundler=rspack ### Converting an Existing Angular Webpack Application -If you have an existing Angular Webpack application you can easily migrate it to use Angular Rspack by using the `@nx/angular:convert-to-rspack` generator. The [Migrate Angular with Webpack to Rspack](/recipes/angular/rspack/migrate-from-webpack) guide explains more on this. +If you have an existing Angular Webpack application you can easily migrate it to use Angular Rspack by using the `@nx/angular:convert-to-rspack` generator. The [Migrate Angular with Webpack to Rspack](/technologies/angular/angular-rspack/recipes/migrate-from-webpack) guide explains more on this. ## Future Work diff --git a/docs/blog/2025-05-05-nx-21-release.md b/docs/blog/2025-05-05-nx-21-release.md index 2c411306cd..289e3dd6f7 100644 --- a/docs/blog/2025-05-05-nx-21-release.md +++ b/docs/blog/2025-05-05-nx-21-release.md @@ -146,7 +146,7 @@ This is another item we're excited to talk about more later this week. If you're using React Router in declarative or data mode, you can continue using the existing workflows that build your React app. -However, if you're ready to start a new app using the framework mode in React Router or need to migrate a Remix app to React Router, we've got you covered. Our new [inferred task plugin](/recipes/react/react-router) will handle running the React Router CLI based on projects with a React Router config file. If you're migrating from Remix, follow the React Router team's [migration guidance](https://reactrouter.com/upgrading/remix). Once migrated, you can remove the Remix plugin and use the React Router plugin. +However, if you're ready to start a new app using the framework mode in React Router or need to migrate a Remix app to React Router, we've got you covered. Our new [inferred task plugin](/technologies/react/recipes/react-router) will handle running the React Router CLI based on projects with a React Router config file. If you're migrating from Remix, follow the React Router team's [migration guidance](https://reactrouter.com/upgrading/remix). Once migrated, you can remove the Remix plugin and use the React Router plugin. ## Updated release versioning diff --git a/docs/blog/2025-05-08-improved-module-federation.md b/docs/blog/2025-05-08-improved-module-federation.md index 01b74c66ca..e726172771 100644 --- a/docs/blog/2025-05-08-improved-module-federation.md +++ b/docs/blog/2025-05-08-improved-module-federation.md @@ -133,8 +133,8 @@ With the new [Terminal UI](/recipes/running-tasks/terminal-ui) you can very easi ## Further Reading -- [Module Federation and Nx](/concepts/module-federation/module-federation-and-nx) -- [Nx Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview) +- [Module Federation and Nx](/technologies/module-federation/concepts/module-federation-and-nx) +- [Nx Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview) - 🧠 [**Nx Docs**](/getting-started/intro) - 👩‍💻 [**Nx GitHub**](https://github.com/nrwl/nx) - 💬 [**Nx Official Discord Server**](https://go.nx.dev/community) diff --git a/docs/changelog/17_0_0.md b/docs/changelog/17_0_0.md index 86814d9954..606a480c9b 100644 --- a/docs/changelog/17_0_0.md +++ b/docs/changelog/17_0_0.md @@ -11,7 +11,7 @@ title="Nx 17.0 Has Landed!!!" {% cards cols="2" %} {% card title="Official @nx/vue plugin" type="document" url="/nx-api/vue" /%} -{% card title="Module Federation Improvements" type="document" url="/concepts/module-federation/module-federation-and-nx" /%} +{% card title="Module Federation Improvements" type="document" url="/technologies/module-federation/concepts/module-federation-and-nx" /%} {% card title="Show Task Inputs in the Task Graph Visualizer" type="external" url="https://github.com/nrwl/nx/pull/19597" /%} {% card title="Move properties from tasksRunnerOptions up to the root of nx.json" type="external" url="https://github.com/nrwl/nx/pull/19243" /%} {% card title="Each task has its own cache property" type="document" url="/reference/project-configuration#cache" /%} diff --git a/docs/changelog/20_0_0.md b/docs/changelog/20_0_0.md index abf3e5004a..d96be4bd97 100644 --- a/docs/changelog/20_0_0.md +++ b/docs/changelog/20_0_0.md @@ -17,7 +17,7 @@ width="100%" /%} {% cards cols="2" %} {% card title="Generators use `as-provided`" type="document" url="/deprecated/as-provided-vs-derived" /%} -{% card title="Storybook generators use Storybook Component tests instead of Cypress tests" type="document" url="/recipes/storybook/storybook-interaction-tests" /%} +{% card title="Storybook generators use Storybook Component tests instead of Cypress tests" type="document" url="/technologies/test-tools/storybook/recipes/storybook-interaction-tests" /%} {% card title="@nrwl/* packages are no longer published" type="document" url="/deprecated/rescope" /%} {% card title="Nx Release programatic API changes" type="external" url="https://github.com/nrwl/nx/pull/28224" /%} {% /cards %} diff --git a/docs/generated/devkit/AggregateCreateNodesError.md b/docs/generated/devkit/AggregateCreateNodesError.md index bcff6b91ac..894fc07e96 100644 --- a/docs/generated/devkit/AggregateCreateNodesError.md +++ b/docs/generated/devkit/AggregateCreateNodesError.md @@ -13,42 +13,42 @@ It allows Nx to recieve partial results and continue processing for better UX. ### Constructors -- [constructor](../../devkit/documents/AggregateCreateNodesError#constructor) +- [constructor](/reference/core-api/devkit/documents/AggregateCreateNodesError#constructor) ### Properties -- [cause](../../devkit/documents/AggregateCreateNodesError#cause): unknown -- [errors](../../devkit/documents/AggregateCreateNodesError#errors): [file: string, error: Error][] -- [message](../../devkit/documents/AggregateCreateNodesError#message): string -- [name](../../devkit/documents/AggregateCreateNodesError#name): string -- [partialResults](../../devkit/documents/AggregateCreateNodesError#partialresults): CreateNodesResultV2 -- [pluginIndex](../../devkit/documents/AggregateCreateNodesError#pluginindex): number -- [stack](../../devkit/documents/AggregateCreateNodesError#stack): string -- [prepareStackTrace](../../devkit/documents/AggregateCreateNodesError#preparestacktrace): Function -- [stackTraceLimit](../../devkit/documents/AggregateCreateNodesError#stacktracelimit): number +- [cause](/reference/core-api/devkit/documents/AggregateCreateNodesError#cause): unknown +- [errors](/reference/core-api/devkit/documents/AggregateCreateNodesError#errors): [file: string, error: Error][] +- [message](/reference/core-api/devkit/documents/AggregateCreateNodesError#message): string +- [name](/reference/core-api/devkit/documents/AggregateCreateNodesError#name): string +- [partialResults](/reference/core-api/devkit/documents/AggregateCreateNodesError#partialresults): CreateNodesResultV2 +- [pluginIndex](/reference/core-api/devkit/documents/AggregateCreateNodesError#pluginindex): number +- [stack](/reference/core-api/devkit/documents/AggregateCreateNodesError#stack): string +- [prepareStackTrace](/reference/core-api/devkit/documents/AggregateCreateNodesError#preparestacktrace): Function +- [stackTraceLimit](/reference/core-api/devkit/documents/AggregateCreateNodesError#stacktracelimit): number ### Methods -- [captureStackTrace](../../devkit/documents/AggregateCreateNodesError#capturestacktrace) +- [captureStackTrace](/reference/core-api/devkit/documents/AggregateCreateNodesError#capturestacktrace) ## Constructors ### constructor -• **new AggregateCreateNodesError**(`errors`, `partialResults`): [`AggregateCreateNodesError`](../../devkit/documents/AggregateCreateNodesError) +• **new AggregateCreateNodesError**(`errors`, `partialResults`): [`AggregateCreateNodesError`](/reference/core-api/devkit/documents/AggregateCreateNodesError) Throwing this error from a `createNodesV2` function will allow Nx to continue processing and recieve partial results from your plugin. #### Parameters -| Name | Type | Description | -| :--------------- | :------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `errors` | [file: string, error: Error][] | An array of tuples that represent errors encountered when processing a given file. An example entry might look like ['path/to/project.json', [Error: 'Invalid JSON. Unexpected token 'a' in JSON at position 0]] | -| `partialResults` | [`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2) | The partial results of the `createNodesV2` function. This should be the results for each file that didn't encounter an issue. | +| Name | Type | Description | +| :--------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `errors` | [file: string, error: Error][] | An array of tuples that represent errors encountered when processing a given file. An example entry might look like ['path/to/project.json', [Error: 'Invalid JSON. Unexpected token 'a' in JSON at position 0]] | +| `partialResults` | [`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2) | The partial results of the `createNodesV2` function. This should be the results for each file that didn't encounter an issue. | #### Returns -[`AggregateCreateNodesError`](../../devkit/documents/AggregateCreateNodesError) +[`AggregateCreateNodesError`](/reference/core-api/devkit/documents/AggregateCreateNodesError) **`Example`** @@ -119,7 +119,7 @@ Error.name ### partialResults -• `Readonly` **partialResults**: [`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2) +• `Readonly` **partialResults**: [`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2) The partial results of the `createNodesV2` function. This should be the results for each file that didn't encounter an issue. diff --git a/docs/generated/devkit/AsyncIteratorExecutor.md b/docs/generated/devkit/AsyncIteratorExecutor.md index e4fba3a2b8..b485acd065 100644 --- a/docs/generated/devkit/AsyncIteratorExecutor.md +++ b/docs/generated/devkit/AsyncIteratorExecutor.md @@ -1,6 +1,6 @@ # Type alias: AsyncIteratorExecutor\ -Ƭ **AsyncIteratorExecutor**\<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](../../devkit/documents/ExecutorContext)) => `AsyncIterableIterator`\<\{ `success`: `boolean` }\> +Ƭ **AsyncIteratorExecutor**\<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext)) => `AsyncIterableIterator`\<\{ `success`: `boolean` }\> An executor implementation that returns an async iterator @@ -16,10 +16,10 @@ An executor implementation that returns an async iterator ##### Parameters -| Name | Type | -| :-------- | :---------------------------------------------------------- | -| `options` | `T` | -| `context` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :-------- | :------------------------------------------------------------------------ | +| `options` | `T` | +| `context` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | ##### Returns diff --git a/docs/generated/devkit/ChangeType.md b/docs/generated/devkit/ChangeType.md index 012fdac00f..d286753504 100644 --- a/docs/generated/devkit/ChangeType.md +++ b/docs/generated/devkit/ChangeType.md @@ -4,8 +4,8 @@ ### Enumeration Members -- [Delete](../../devkit/documents/ChangeType#delete) -- [Insert](../../devkit/documents/ChangeType#insert) +- [Delete](/reference/core-api/devkit/documents/ChangeType#delete) +- [Insert](/reference/core-api/devkit/documents/ChangeType#insert) ## Enumeration Members diff --git a/docs/generated/devkit/CreateDependencies.md b/docs/generated/devkit/CreateDependencies.md index 0800b0dbc2..5beadd7584 100644 --- a/docs/generated/devkit/CreateDependencies.md +++ b/docs/generated/devkit/CreateDependencies.md @@ -1,9 +1,9 @@ # Type alias: CreateDependencies\ -Ƭ **CreateDependencies**\<`T`\>: (`options`: `T` \| `undefined`, `context`: [`CreateDependenciesContext`](../../devkit/documents/CreateDependenciesContext)) => [`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[]\> +Ƭ **CreateDependencies**\<`T`\>: (`options`: `T` \| `undefined`, `context`: [`CreateDependenciesContext`](/reference/core-api/devkit/documents/CreateDependenciesContext)) => [`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[]\> -A function which parses files in the workspace to create dependencies in the [ProjectGraph](../../devkit/documents/ProjectGraph) -Use [validateDependency](../../devkit/documents/validateDependency) to validate dependencies +A function which parses files in the workspace to create dependencies in the [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) +Use [validateDependency](/reference/core-api/devkit/documents/validateDependency) to validate dependencies #### Type parameters @@ -13,15 +13,15 @@ Use [validateDependency](../../devkit/documents/validateDependency) to validate #### Type declaration -▸ (`options`, `context`): [`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[]\> +▸ (`options`, `context`): [`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[]\> ##### Parameters -| Name | Type | -| :-------- | :------------------------------------------------------------------------------ | -| `options` | `T` \| `undefined` | -| `context` | [`CreateDependenciesContext`](../../devkit/documents/CreateDependenciesContext) | +| Name | Type | +| :-------- | :-------------------------------------------------------------------------------------------- | +| `options` | `T` \| `undefined` | +| `context` | [`CreateDependenciesContext`](/reference/core-api/devkit/documents/CreateDependenciesContext) | ##### Returns -[`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency)[]\> +[`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[] \| `Promise`\<[`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency)[]\> diff --git a/docs/generated/devkit/CreateDependenciesContext.md b/docs/generated/devkit/CreateDependenciesContext.md index 2b863e2454..26fdc3853b 100644 --- a/docs/generated/devkit/CreateDependenciesContext.md +++ b/docs/generated/devkit/CreateDependenciesContext.md @@ -1,23 +1,23 @@ # Interface: CreateDependenciesContext -Context for [CreateDependencies](../../devkit/documents/CreateDependencies) +Context for [CreateDependencies](/reference/core-api/devkit/documents/CreateDependencies) ## Table of contents ### Properties -- [externalNodes](../../devkit/documents/CreateDependenciesContext#externalnodes): Record -- [fileMap](../../devkit/documents/CreateDependenciesContext#filemap): FileMap -- [filesToProcess](../../devkit/documents/CreateDependenciesContext#filestoprocess): FileMap -- [nxJsonConfiguration](../../devkit/documents/CreateDependenciesContext#nxjsonconfiguration): NxJsonConfiguration -- [projects](../../devkit/documents/CreateDependenciesContext#projects): Record -- [workspaceRoot](../../devkit/documents/CreateDependenciesContext#workspaceroot): string +- [externalNodes](/reference/core-api/devkit/documents/CreateDependenciesContext#externalnodes): Record +- [fileMap](/reference/core-api/devkit/documents/CreateDependenciesContext#filemap): FileMap +- [filesToProcess](/reference/core-api/devkit/documents/CreateDependenciesContext#filestoprocess): FileMap +- [nxJsonConfiguration](/reference/core-api/devkit/documents/CreateDependenciesContext#nxjsonconfiguration): NxJsonConfiguration +- [projects](/reference/core-api/devkit/documents/CreateDependenciesContext#projects): Record +- [workspaceRoot](/reference/core-api/devkit/documents/CreateDependenciesContext#workspaceroot): string ## Properties ### externalNodes -• `Readonly` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](../../devkit/documents/ProjectGraphExternalNode)\> +• `Readonly` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](/reference/core-api/devkit/documents/ProjectGraphExternalNode)\> The external nodes that have been added to the graph. @@ -25,7 +25,7 @@ The external nodes that have been added to the graph. ### fileMap -• `Readonly` **fileMap**: [`FileMap`](../../devkit/documents/FileMap) +• `Readonly` **fileMap**: [`FileMap`](/reference/core-api/devkit/documents/FileMap) All files in the workspace @@ -33,7 +33,7 @@ All files in the workspace ### filesToProcess -• `Readonly` **filesToProcess**: [`FileMap`](../../devkit/documents/FileMap) +• `Readonly` **filesToProcess**: [`FileMap`](/reference/core-api/devkit/documents/FileMap) Files changes since last invocation @@ -41,7 +41,7 @@ Files changes since last invocation ### nxJsonConfiguration -• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> +• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> The `nx.json` configuration from the workspace @@ -49,7 +49,7 @@ The `nx.json` configuration from the workspace ### projects -• `Readonly` **projects**: `Record`\<`string`, [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration)\> +• `Readonly` **projects**: `Record`\<`string`, [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration)\> The configuration of each project in the workspace keyed by project name. diff --git a/docs/generated/devkit/CreateMetadata.md b/docs/generated/devkit/CreateMetadata.md index 4f9bffcc00..6bc0335dc4 100644 --- a/docs/generated/devkit/CreateMetadata.md +++ b/docs/generated/devkit/CreateMetadata.md @@ -1,6 +1,6 @@ # Type alias: CreateMetadata\ -Ƭ **CreateMetadata**\<`T`\>: (`graph`: [`ProjectGraph`](../../devkit/documents/ProjectGraph), `options`: `T` \| `undefined`, `context`: [`CreateMetadataContext`](../../devkit/documents/CreateMetadataContext)) => [`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata)\> +Ƭ **CreateMetadata**\<`T`\>: (`graph`: [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph), `options`: `T` \| `undefined`, `context`: [`CreateMetadataContext`](/reference/core-api/devkit/documents/CreateMetadataContext)) => [`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata)\> #### Type parameters @@ -10,16 +10,16 @@ #### Type declaration -▸ (`graph`, `options`, `context`): [`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata)\> +▸ (`graph`, `options`, `context`): [`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata)\> ##### Parameters -| Name | Type | -| :-------- | :---------------------------------------------------------------------- | -| `graph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | -| `options` | `T` \| `undefined` | -| `context` | [`CreateMetadataContext`](../../devkit/documents/CreateMetadataContext) | +| Name | Type | +| :-------- | :------------------------------------------------------------------------------------ | +| `graph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | +| `options` | `T` \| `undefined` | +| `context` | [`CreateMetadataContext`](/reference/core-api/devkit/documents/CreateMetadataContext) | ##### Returns -[`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](../../devkit/documents/ProjectsMetadata)\> +[`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata) \| `Promise`\<[`ProjectsMetadata`](/reference/core-api/devkit/documents/ProjectsMetadata)\> diff --git a/docs/generated/devkit/CreateMetadataContext.md b/docs/generated/devkit/CreateMetadataContext.md index e9bd0dd66c..23364c6bf7 100644 --- a/docs/generated/devkit/CreateMetadataContext.md +++ b/docs/generated/devkit/CreateMetadataContext.md @@ -4,7 +4,7 @@ #### Type declaration -| Name | Type | -| :-------------------- | :------------------------------------------------------------------ | -| `nxJsonConfiguration` | [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) | -| `workspaceRoot` | `string` | +| Name | Type | +| :-------------------- | :-------------------------------------------------------------------------------- | +| `nxJsonConfiguration` | [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) | +| `workspaceRoot` | `string` | diff --git a/docs/generated/devkit/CreateNodes.md b/docs/generated/devkit/CreateNodes.md index 97e99b93f8..1f23aa0bd4 100644 --- a/docs/generated/devkit/CreateNodes.md +++ b/docs/generated/devkit/CreateNodes.md @@ -2,7 +2,7 @@ Ƭ **CreateNodes**\<`T`\>: readonly [projectFilePattern: string, createNodesFunction: CreateNodesFunction\] -A pair of file patterns and [CreateNodesFunction](../../devkit/documents/CreateNodesFunction) +A pair of file patterns and [CreateNodesFunction](/reference/core-api/devkit/documents/CreateNodesFunction) Nx 19.2+: Both original `CreateNodes` and `CreateNodesV2` are supported. Nx will only invoke `CreateNodesV2` if it is present. Nx 21.X : The `CreateNodesV2` will be the only supported API. This typing will still exist, but be identical to `CreateNodesV2`. @@ -14,7 +14,7 @@ Nx 22.X : The `CreateNodesV2` typing will be removed, as it has replaced `Create **`Deprecated`** -Use [CreateNodesV2](../../devkit/documents/CreateNodesV2) instead. CreateNodesV2 will replace this API. Read more about the transition above. +Use [CreateNodesV2](/reference/core-api/devkit/documents/CreateNodesV2) instead. CreateNodesV2 will replace this API. Read more about the transition above. #### Type parameters diff --git a/docs/generated/devkit/CreateNodesContext.md b/docs/generated/devkit/CreateNodesContext.md index 98fcabdcc6..2a2f6ff1b9 100644 --- a/docs/generated/devkit/CreateNodesContext.md +++ b/docs/generated/devkit/CreateNodesContext.md @@ -1,10 +1,10 @@ # Interface: CreateNodesContext -Context for [CreateNodesFunction](../../devkit/documents/CreateNodesFunction) +Context for [CreateNodesFunction](/reference/core-api/devkit/documents/CreateNodesFunction) ## Hierarchy -- [`CreateNodesContextV2`](../../devkit/documents/CreateNodesContextV2) +- [`CreateNodesContextV2`](/reference/core-api/devkit/documents/CreateNodesContextV2) ↳ **`CreateNodesContext`** @@ -12,9 +12,9 @@ Context for [CreateNodesFunction](../../devkit/documents/CreateNodesFunction) ### Properties -- [configFiles](../../devkit/documents/CreateNodesContext#configfiles): readonly string[] -- [nxJsonConfiguration](../../devkit/documents/CreateNodesContext#nxjsonconfiguration): NxJsonConfiguration -- [workspaceRoot](../../devkit/documents/CreateNodesContext#workspaceroot): string +- [configFiles](/reference/core-api/devkit/documents/CreateNodesContext#configfiles): readonly string[] +- [nxJsonConfiguration](/reference/core-api/devkit/documents/CreateNodesContext#nxjsonconfiguration): NxJsonConfiguration +- [workspaceRoot](/reference/core-api/devkit/documents/CreateNodesContext#workspaceroot): string ## Properties @@ -28,11 +28,11 @@ The subset of configuration files which match the createNodes pattern ### nxJsonConfiguration -• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> +• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> #### Inherited from -[CreateNodesContextV2](../../devkit/documents/CreateNodesContextV2).[nxJsonConfiguration](../../devkit/documents/CreateNodesContextV2#nxjsonconfiguration) +[CreateNodesContextV2](/reference/core-api/devkit/documents/CreateNodesContextV2).[nxJsonConfiguration](/reference/core-api/devkit/documents/CreateNodesContextV2#nxjsonconfiguration) --- @@ -42,4 +42,4 @@ The subset of configuration files which match the createNodes pattern #### Inherited from -[CreateNodesContextV2](../../devkit/documents/CreateNodesContextV2).[workspaceRoot](../../devkit/documents/CreateNodesContextV2#workspaceroot) +[CreateNodesContextV2](/reference/core-api/devkit/documents/CreateNodesContextV2).[workspaceRoot](/reference/core-api/devkit/documents/CreateNodesContextV2#workspaceroot) diff --git a/docs/generated/devkit/CreateNodesContextV2.md b/docs/generated/devkit/CreateNodesContextV2.md index bc4bb8bd89..ed54516fb0 100644 --- a/docs/generated/devkit/CreateNodesContextV2.md +++ b/docs/generated/devkit/CreateNodesContextV2.md @@ -4,20 +4,20 @@ - **`CreateNodesContextV2`** - ↳ [`CreateNodesContext`](../../devkit/documents/CreateNodesContext) + ↳ [`CreateNodesContext`](/reference/core-api/devkit/documents/CreateNodesContext) ## Table of contents ### Properties -- [nxJsonConfiguration](../../devkit/documents/CreateNodesContextV2#nxjsonconfiguration): NxJsonConfiguration -- [workspaceRoot](../../devkit/documents/CreateNodesContextV2#workspaceroot): string +- [nxJsonConfiguration](/reference/core-api/devkit/documents/CreateNodesContextV2#nxjsonconfiguration): NxJsonConfiguration +- [workspaceRoot](/reference/core-api/devkit/documents/CreateNodesContextV2#workspaceroot): string ## Properties ### nxJsonConfiguration -• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> +• `Readonly` **nxJsonConfiguration**: [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> --- diff --git a/docs/generated/devkit/CreateNodesFunction.md b/docs/generated/devkit/CreateNodesFunction.md index 5ebf292988..c0143bf5ee 100644 --- a/docs/generated/devkit/CreateNodesFunction.md +++ b/docs/generated/devkit/CreateNodesFunction.md @@ -1,9 +1,9 @@ # Type alias: CreateNodesFunction\ -Ƭ **CreateNodesFunction**\<`T`\>: (`projectConfigurationFile`: `string`, `options`: `T` \| `undefined`, `context`: [`CreateNodesContext`](../../devkit/documents/CreateNodesContext)) => [`CreateNodesResult`](../../devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](../../devkit/documents/CreateNodesResult)\> +Ƭ **CreateNodesFunction**\<`T`\>: (`projectConfigurationFile`: `string`, `options`: `T` \| `undefined`, `context`: [`CreateNodesContext`](/reference/core-api/devkit/documents/CreateNodesContext)) => [`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult)\> A function which parses a configuration file into a set of nodes. -Used for creating nodes for the [ProjectGraph](../../devkit/documents/ProjectGraph) +Used for creating nodes for the [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) #### Type parameters @@ -13,16 +13,16 @@ Used for creating nodes for the [ProjectGraph](../../devkit/documents/ProjectGra #### Type declaration -▸ (`projectConfigurationFile`, `options`, `context`): [`CreateNodesResult`](../../devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](../../devkit/documents/CreateNodesResult)\> +▸ (`projectConfigurationFile`, `options`, `context`): [`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult)\> ##### Parameters -| Name | Type | -| :------------------------- | :---------------------------------------------------------------- | -| `projectConfigurationFile` | `string` | -| `options` | `T` \| `undefined` | -| `context` | [`CreateNodesContext`](../../devkit/documents/CreateNodesContext) | +| Name | Type | +| :------------------------- | :------------------------------------------------------------------------------ | +| `projectConfigurationFile` | `string` | +| `options` | `T` \| `undefined` | +| `context` | [`CreateNodesContext`](/reference/core-api/devkit/documents/CreateNodesContext) | ##### Returns -[`CreateNodesResult`](../../devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](../../devkit/documents/CreateNodesResult)\> +[`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult)\> diff --git a/docs/generated/devkit/CreateNodesFunctionV2.md b/docs/generated/devkit/CreateNodesFunctionV2.md index b32121c677..71518ecc4b 100644 --- a/docs/generated/devkit/CreateNodesFunctionV2.md +++ b/docs/generated/devkit/CreateNodesFunctionV2.md @@ -1,6 +1,6 @@ # Type alias: CreateNodesFunctionV2\ -Ƭ **CreateNodesFunctionV2**\<`T`\>: (`projectConfigurationFiles`: readonly `string`[], `options`: `T` \| `undefined`, `context`: [`CreateNodesContextV2`](../../devkit/documents/CreateNodesContextV2)) => [`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2)\> +Ƭ **CreateNodesFunctionV2**\<`T`\>: (`projectConfigurationFiles`: readonly `string`[], `options`: `T` \| `undefined`, `context`: [`CreateNodesContextV2`](/reference/core-api/devkit/documents/CreateNodesContextV2)) => [`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2)\> #### Type parameters @@ -10,16 +10,16 @@ #### Type declaration -▸ (`projectConfigurationFiles`, `options`, `context`): [`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2)\> +▸ (`projectConfigurationFiles`, `options`, `context`): [`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2)\> ##### Parameters -| Name | Type | -| :-------------------------- | :-------------------------------------------------------------------- | -| `projectConfigurationFiles` | readonly `string`[] | -| `options` | `T` \| `undefined` | -| `context` | [`CreateNodesContextV2`](../../devkit/documents/CreateNodesContextV2) | +| Name | Type | +| :-------------------------- | :---------------------------------------------------------------------------------- | +| `projectConfigurationFiles` | readonly `string`[] | +| `options` | `T` \| `undefined` | +| `context` | [`CreateNodesContextV2`](/reference/core-api/devkit/documents/CreateNodesContextV2) | ##### Returns -[`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](../../devkit/documents/CreateNodesResultV2)\> +[`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2) \| `Promise`\<[`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2)\> diff --git a/docs/generated/devkit/CreateNodesResult.md b/docs/generated/devkit/CreateNodesResult.md index 143da7c925..5bba252f85 100644 --- a/docs/generated/devkit/CreateNodesResult.md +++ b/docs/generated/devkit/CreateNodesResult.md @@ -4,14 +4,14 @@ ### Properties -- [externalNodes](../../devkit/documents/CreateNodesResult#externalnodes): Record -- [projects](../../devkit/documents/CreateNodesResult#projects): Record> +- [externalNodes](/reference/core-api/devkit/documents/CreateNodesResult#externalnodes): Record +- [projects](/reference/core-api/devkit/documents/CreateNodesResult#projects): Record> ## Properties ### externalNodes -• `Optional` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](../../devkit/documents/ProjectGraphExternalNode)\> +• `Optional` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](/reference/core-api/devkit/documents/ProjectGraphExternalNode)\> A map of external node name -> external node. External nodes do not have a root, so the key is their name. @@ -19,6 +19,6 @@ A map of external node name -> external node. External nodes do not have a root, ### projects -• `Optional` **projects**: `Record`\<`string`, `Optional`\<[`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration), `"root"`\>\> +• `Optional` **projects**: `Record`\<`string`, `Optional`\<[`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration), `"root"`\>\> A map of project root -> project configuration diff --git a/docs/generated/devkit/CreateNodesV2.md b/docs/generated/devkit/CreateNodesV2.md index 0595fc1352..0fa74e09f2 100644 --- a/docs/generated/devkit/CreateNodesV2.md +++ b/docs/generated/devkit/CreateNodesV2.md @@ -2,8 +2,8 @@ Ƭ **CreateNodesV2**\<`T`\>: readonly [projectFilePattern: string, createNodesFunction: CreateNodesFunctionV2\] -A pair of file patterns and [CreateNodesFunctionV2](../../devkit/documents/CreateNodesFunctionV2) -In Nx 21 [CreateNodes](../../devkit/documents/CreateNodes) will be replaced with this type. In Nx 22, this type will be removed. +A pair of file patterns and [CreateNodesFunctionV2](/reference/core-api/devkit/documents/CreateNodesFunctionV2) +In Nx 21 [CreateNodes](/reference/core-api/devkit/documents/CreateNodes) will be replaced with this type. In Nx 22, this type will be removed. #### Type parameters diff --git a/docs/generated/devkit/CustomHasher.md b/docs/generated/devkit/CustomHasher.md index 52bbd5a6eb..d3716b592b 100644 --- a/docs/generated/devkit/CustomHasher.md +++ b/docs/generated/devkit/CustomHasher.md @@ -1,18 +1,18 @@ # Type alias: CustomHasher -Ƭ **CustomHasher**: (`task`: [`Task`](../../devkit/documents/Task), `context`: [`HasherContext`](../../devkit/documents/HasherContext)) => `Promise`\<[`Hash`](../../devkit/documents/Hash)\> +Ƭ **CustomHasher**: (`task`: [`Task`](/reference/core-api/devkit/documents/Task), `context`: [`HasherContext`](/reference/core-api/devkit/documents/HasherContext)) => `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> #### Type declaration -▸ (`task`, `context`): `Promise`\<[`Hash`](../../devkit/documents/Hash)\> +▸ (`task`, `context`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> ##### Parameters -| Name | Type | -| :-------- | :------------------------------------------------------ | -| `task` | [`Task`](../../devkit/documents/Task) | -| `context` | [`HasherContext`](../../devkit/documents/HasherContext) | +| Name | Type | +| :-------- | :-------------------------------------------------------------------- | +| `task` | [`Task`](/reference/core-api/devkit/documents/Task) | +| `context` | [`HasherContext`](/reference/core-api/devkit/documents/HasherContext) | ##### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> diff --git a/docs/generated/devkit/DefaultTasksRunnerOptions.md b/docs/generated/devkit/DefaultTasksRunnerOptions.md index b4a7549ec0..b6ec96f18f 100644 --- a/docs/generated/devkit/DefaultTasksRunnerOptions.md +++ b/docs/generated/devkit/DefaultTasksRunnerOptions.md @@ -4,17 +4,17 @@ ### Properties -- [batch](../../devkit/documents/DefaultTasksRunnerOptions#batch): boolean -- [cacheDirectory](../../devkit/documents/DefaultTasksRunnerOptions#cachedirectory): string -- [cacheableOperations](../../devkit/documents/DefaultTasksRunnerOptions#cacheableoperations): string[] -- [cacheableTargets](../../devkit/documents/DefaultTasksRunnerOptions#cacheabletargets): string[] -- [captureStderr](../../devkit/documents/DefaultTasksRunnerOptions#capturestderr): boolean -- [lifeCycle](../../devkit/documents/DefaultTasksRunnerOptions#lifecycle): LifeCycle -- [parallel](../../devkit/documents/DefaultTasksRunnerOptions#parallel): number -- [remoteCache](../../devkit/documents/DefaultTasksRunnerOptions#remotecache): RemoteCache -- [runtimeCacheInputs](../../devkit/documents/DefaultTasksRunnerOptions#runtimecacheinputs): string[] -- [skipNxCache](../../devkit/documents/DefaultTasksRunnerOptions#skipnxcache): boolean -- [skipRemoteCache](../../devkit/documents/DefaultTasksRunnerOptions#skipremotecache): boolean +- [batch](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#batch): boolean +- [cacheDirectory](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#cachedirectory): string +- [cacheableOperations](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#cacheableoperations): string[] +- [cacheableTargets](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#cacheabletargets): string[] +- [captureStderr](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#capturestderr): boolean +- [lifeCycle](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#lifecycle): LifeCycle +- [parallel](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#parallel): number +- [remoteCache](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#remotecache): RemoteCache +- [runtimeCacheInputs](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#runtimecacheinputs): string[] +- [skipNxCache](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#skipnxcache): boolean +- [skipRemoteCache](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions#skipremotecache): boolean ## Properties @@ -62,7 +62,7 @@ ### remoteCache -• `Optional` **remoteCache**: [`RemoteCache`](../../devkit/documents/RemoteCache) +• `Optional` **remoteCache**: [`RemoteCache`](/reference/core-api/devkit/documents/RemoteCache) --- diff --git a/docs/generated/devkit/DependencyType.md b/docs/generated/devkit/DependencyType.md index fda9b29d08..bc9f994bd0 100644 --- a/docs/generated/devkit/DependencyType.md +++ b/docs/generated/devkit/DependencyType.md @@ -6,9 +6,9 @@ Type of dependency between projects ### Enumeration Members -- [dynamic](../../devkit/documents/DependencyType#dynamic) -- [implicit](../../devkit/documents/DependencyType#implicit) -- [static](../../devkit/documents/DependencyType#static) +- [dynamic](/reference/core-api/devkit/documents/DependencyType#dynamic) +- [implicit](/reference/core-api/devkit/documents/DependencyType#implicit) +- [static](/reference/core-api/devkit/documents/DependencyType#static) ## Enumeration Members diff --git a/docs/generated/devkit/DynamicDependency.md b/docs/generated/devkit/DynamicDependency.md index 988c3017ed..f92d1c6fe1 100644 --- a/docs/generated/devkit/DynamicDependency.md +++ b/docs/generated/devkit/DynamicDependency.md @@ -2,15 +2,15 @@ Ƭ **DynamicDependency**: `Object` -A dynamic [ProjectGraph](../../devkit/documents/ProjectGraph) dependency between 2 projects +A dynamic [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) dependency between 2 projects This type of dependency indicates the source project MAY OR MAY NOT load the target project. #### Type declaration -| Name | Type | Description | -| :----------- | :---------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------- | -| `source` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) depending on the target project | -| `sourceFile` | `string` | The path of a file (relative from the workspace root) where the dependency is made | -| `target` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) that the source project depends on | -| `type` | typeof [`dynamic`](../../devkit/documents/DependencyType#dynamic) | - | +| Name | Type | Description | +| :----------- | :------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- | +| `source` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) depending on the target project | +| `sourceFile` | `string` | The path of a file (relative from the workspace root) where the dependency is made | +| `target` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) that the source project depends on | +| `type` | typeof [`dynamic`](/reference/core-api/devkit/documents/DependencyType#dynamic) | - | diff --git a/docs/generated/devkit/Executor.md b/docs/generated/devkit/Executor.md index c4e4d24299..8ea0c90614 100644 --- a/docs/generated/devkit/Executor.md +++ b/docs/generated/devkit/Executor.md @@ -1,6 +1,6 @@ # Type alias: Executor\ -Ƭ **Executor**\<`T`\>: [`PromiseExecutor`](../../devkit/documents/PromiseExecutor)\<`T`\> \| [`AsyncIteratorExecutor`](../../devkit/documents/AsyncIteratorExecutor)\<`T`\> +Ƭ **Executor**\<`T`\>: [`PromiseExecutor`](/reference/core-api/devkit/documents/PromiseExecutor)\<`T`\> \| [`AsyncIteratorExecutor`](/reference/core-api/devkit/documents/AsyncIteratorExecutor)\<`T`\> Implementation of a target of a project diff --git a/docs/generated/devkit/ExecutorContext.md b/docs/generated/devkit/ExecutorContext.md index a3e6512092..69700ee50c 100644 --- a/docs/generated/devkit/ExecutorContext.md +++ b/docs/generated/devkit/ExecutorContext.md @@ -6,17 +6,17 @@ Context that is passed into an executor ### Properties -- [configurationName](../../devkit/documents/ExecutorContext#configurationname): string -- [cwd](../../devkit/documents/ExecutorContext#cwd): string -- [isVerbose](../../devkit/documents/ExecutorContext#isverbose): boolean -- [nxJsonConfiguration](../../devkit/documents/ExecutorContext#nxjsonconfiguration): NxJsonConfiguration -- [projectGraph](../../devkit/documents/ExecutorContext#projectgraph): ProjectGraph -- [projectName](../../devkit/documents/ExecutorContext#projectname): string -- [projectsConfigurations](../../devkit/documents/ExecutorContext#projectsconfigurations): ProjectsConfigurations -- [root](../../devkit/documents/ExecutorContext#root): string -- [target](../../devkit/documents/ExecutorContext#target): TargetConfiguration -- [targetName](../../devkit/documents/ExecutorContext#targetname): string -- [taskGraph](../../devkit/documents/ExecutorContext#taskgraph): TaskGraph +- [configurationName](/reference/core-api/devkit/documents/ExecutorContext#configurationname): string +- [cwd](/reference/core-api/devkit/documents/ExecutorContext#cwd): string +- [isVerbose](/reference/core-api/devkit/documents/ExecutorContext#isverbose): boolean +- [nxJsonConfiguration](/reference/core-api/devkit/documents/ExecutorContext#nxjsonconfiguration): NxJsonConfiguration +- [projectGraph](/reference/core-api/devkit/documents/ExecutorContext#projectgraph): ProjectGraph +- [projectName](/reference/core-api/devkit/documents/ExecutorContext#projectname): string +- [projectsConfigurations](/reference/core-api/devkit/documents/ExecutorContext#projectsconfigurations): ProjectsConfigurations +- [root](/reference/core-api/devkit/documents/ExecutorContext#root): string +- [target](/reference/core-api/devkit/documents/ExecutorContext#target): TargetConfiguration +- [targetName](/reference/core-api/devkit/documents/ExecutorContext#targetname): string +- [taskGraph](/reference/core-api/devkit/documents/ExecutorContext#taskgraph): TaskGraph ## Properties @@ -46,7 +46,7 @@ Enable verbose logging ### nxJsonConfiguration -• **nxJsonConfiguration**: [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> +• **nxJsonConfiguration**: [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> The contents of nx.json. @@ -54,7 +54,7 @@ The contents of nx.json. ### projectGraph -• **projectGraph**: [`ProjectGraph`](../../devkit/documents/ProjectGraph) +• **projectGraph**: [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) A snapshot of the project graph as it existed when the Nx command was kicked off @@ -71,7 +71,7 @@ The name of the project being executed on ### projectsConfigurations -• **projectsConfigurations**: [`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +• **projectsConfigurations**: [`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) Projects config @@ -87,7 +87,7 @@ The root of the workspace ### target -• `Optional` **target**: [`TargetConfiguration`](../../devkit/documents/TargetConfiguration)\<`any`\> +• `Optional` **target**: [`TargetConfiguration`](/reference/core-api/devkit/documents/TargetConfiguration)\<`any`\> The configuration of the target being executed @@ -103,7 +103,7 @@ The name of the target being executed ### taskGraph -• `Optional` **taskGraph**: [`TaskGraph`](../../devkit/documents/TaskGraph) +• `Optional` **taskGraph**: [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) A snapshot of the task graph as it existed when the Nx command was kicked off diff --git a/docs/generated/devkit/ExecutorsJson.md b/docs/generated/devkit/ExecutorsJson.md index 3f96a42241..40177e1a29 100644 --- a/docs/generated/devkit/ExecutorsJson.md +++ b/docs/generated/devkit/ExecutorsJson.md @@ -4,8 +4,8 @@ ### Properties -- [builders](../../devkit/documents/ExecutorsJson#builders): Record -- [executors](../../devkit/documents/ExecutorsJson#executors): Record +- [builders](/reference/core-api/devkit/documents/ExecutorsJson#builders): Record +- [executors](/reference/core-api/devkit/documents/ExecutorsJson#executors): Record ## Properties diff --git a/docs/generated/devkit/FileChange.md b/docs/generated/devkit/FileChange.md index 22070d4376..187d5f5b25 100644 --- a/docs/generated/devkit/FileChange.md +++ b/docs/generated/devkit/FileChange.md @@ -6,10 +6,10 @@ Description of a file change in the Nx virtual file system/ ### Properties -- [content](../../devkit/documents/FileChange#content): Buffer -- [options](../../devkit/documents/FileChange#options): TreeWriteOptions -- [path](../../devkit/documents/FileChange#path): string -- [type](../../devkit/documents/FileChange#type): "CREATE" | "DELETE" | "UPDATE" +- [content](/reference/core-api/devkit/documents/FileChange#content): Buffer +- [options](/reference/core-api/devkit/documents/FileChange#options): TreeWriteOptions +- [path](/reference/core-api/devkit/documents/FileChange#path): string +- [type](/reference/core-api/devkit/documents/FileChange#type): "CREATE" | "DELETE" | "UPDATE" ## Properties diff --git a/docs/generated/devkit/FileData.md b/docs/generated/devkit/FileData.md index bdb6b8f2c5..7e105280a7 100644 --- a/docs/generated/devkit/FileData.md +++ b/docs/generated/devkit/FileData.md @@ -6,9 +6,9 @@ Some metadata about a file ### Properties -- [deps](../../devkit/documents/FileData#deps): FileDataDependency[] -- [file](../../devkit/documents/FileData#file): string -- [hash](../../devkit/documents/FileData#hash): string +- [deps](/reference/core-api/devkit/documents/FileData#deps): FileDataDependency[] +- [file](/reference/core-api/devkit/documents/FileData#file): string +- [hash](/reference/core-api/devkit/documents/FileData#hash): string ## Properties diff --git a/docs/generated/devkit/FileMap.md b/docs/generated/devkit/FileMap.md index 9d20bdf931..716b67ca1a 100644 --- a/docs/generated/devkit/FileMap.md +++ b/docs/generated/devkit/FileMap.md @@ -4,17 +4,17 @@ ### Properties -- [nonProjectFiles](../../devkit/documents/FileMap#nonprojectfiles): FileData[] -- [projectFileMap](../../devkit/documents/FileMap#projectfilemap): ProjectFileMap +- [nonProjectFiles](/reference/core-api/devkit/documents/FileMap#nonprojectfiles): FileData[] +- [projectFileMap](/reference/core-api/devkit/documents/FileMap#projectfilemap): ProjectFileMap ## Properties ### nonProjectFiles -• **nonProjectFiles**: [`FileData`](../../devkit/documents/FileData)[] +• **nonProjectFiles**: [`FileData`](/reference/core-api/devkit/documents/FileData)[] --- ### projectFileMap -• **projectFileMap**: [`ProjectFileMap`](../../devkit/documents/ProjectFileMap) +• **projectFileMap**: [`ProjectFileMap`](/reference/core-api/devkit/documents/ProjectFileMap) diff --git a/docs/generated/devkit/Generator.md b/docs/generated/devkit/Generator.md index 32d0ac57b4..bc003338dd 100644 --- a/docs/generated/devkit/Generator.md +++ b/docs/generated/devkit/Generator.md @@ -1,6 +1,6 @@ # Type alias: Generator\ -Ƭ **Generator**\<`T`\>: (`tree`: `any`, `schema`: `T`) => `void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback)\> +Ƭ **Generator**\<`T`\>: (`tree`: `any`, `schema`: `T`) => `void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback)\> A function that schedules updates to the filesystem to be done atomically @@ -12,7 +12,7 @@ A function that schedules updates to the filesystem to be done atomically #### Type declaration -▸ (`tree`, `schema`): `void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback)\> +▸ (`tree`, `schema`): `void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback)\> ##### Parameters @@ -23,4 +23,4 @@ A function that schedules updates to the filesystem to be done atomically ##### Returns -`void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](../../devkit/documents/GeneratorCallback)\> +`void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) \| `Promise`\<`void` \| [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback)\> diff --git a/docs/generated/devkit/GeneratorsJson.md b/docs/generated/devkit/GeneratorsJson.md index ed9db23d7a..547d737f3c 100644 --- a/docs/generated/devkit/GeneratorsJson.md +++ b/docs/generated/devkit/GeneratorsJson.md @@ -4,9 +4,9 @@ ### Properties -- [extends](../../devkit/documents/GeneratorsJson#extends): string -- [generators](../../devkit/documents/GeneratorsJson#generators): Record -- [schematics](../../devkit/documents/GeneratorsJson#schematics): Record +- [extends](/reference/core-api/devkit/documents/GeneratorsJson#extends): string +- [generators](/reference/core-api/devkit/documents/GeneratorsJson#generators): Record +- [schematics](/reference/core-api/devkit/documents/GeneratorsJson#schematics): Record ## Properties diff --git a/docs/generated/devkit/GraphJson.md b/docs/generated/devkit/GraphJson.md index 349d669498..ac737fe65b 100644 --- a/docs/generated/devkit/GraphJson.md +++ b/docs/generated/devkit/GraphJson.md @@ -6,15 +6,15 @@ The data type that `nx graph --file graph.json` or `nx build --graph graph.json` ### Properties -- [graph](../../devkit/documents/GraphJson#graph): ProjectGraph -- [taskPlans](../../devkit/documents/GraphJson#taskplans): Record -- [tasks](../../devkit/documents/GraphJson#tasks): TaskGraph +- [graph](/reference/core-api/devkit/documents/GraphJson#graph): ProjectGraph +- [taskPlans](/reference/core-api/devkit/documents/GraphJson#taskplans): Record +- [tasks](/reference/core-api/devkit/documents/GraphJson#tasks): TaskGraph ## Properties ### graph -• **graph**: [`ProjectGraph`](../../devkit/documents/ProjectGraph) +• **graph**: [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) The project graph @@ -30,6 +30,6 @@ The plans for hashing a task in the task graph ### tasks -• `Optional` **tasks**: [`TaskGraph`](../../devkit/documents/TaskGraph) +• `Optional` **tasks**: [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) A graph of tasks populated with `nx build --graph` diff --git a/docs/generated/devkit/Hash.md b/docs/generated/devkit/Hash.md index 63cbd81f1a..e0e0efb972 100644 --- a/docs/generated/devkit/Hash.md +++ b/docs/generated/devkit/Hash.md @@ -6,8 +6,8 @@ A data structure returned by the default hasher. ### Properties -- [details](../../devkit/documents/Hash#details): Object -- [value](../../devkit/documents/Hash#value): string +- [details](/reference/core-api/devkit/documents/Hash#details): Object +- [value](/reference/core-api/devkit/documents/Hash#value): string ## Properties diff --git a/docs/generated/devkit/Hasher.md b/docs/generated/devkit/Hasher.md index b0db1d3a13..1aa409483a 100644 --- a/docs/generated/devkit/Hasher.md +++ b/docs/generated/devkit/Hasher.md @@ -1,3 +1,3 @@ # Type alias: Hasher -Ƭ **Hasher**: [`TaskHasher`](../../devkit/documents/TaskHasher) +Ƭ **Hasher**: [`TaskHasher`](/reference/core-api/devkit/documents/TaskHasher) diff --git a/docs/generated/devkit/HasherContext.md b/docs/generated/devkit/HasherContext.md index f7609b6354..5959875a9c 100644 --- a/docs/generated/devkit/HasherContext.md +++ b/docs/generated/devkit/HasherContext.md @@ -4,38 +4,38 @@ ### Properties -- [hasher](../../devkit/documents/HasherContext#hasher): TaskHasher -- [nxJsonConfiguration](../../devkit/documents/HasherContext#nxjsonconfiguration): NxJsonConfiguration -- [projectGraph](../../devkit/documents/HasherContext#projectgraph): ProjectGraph -- [projectsConfigurations](../../devkit/documents/HasherContext#projectsconfigurations): ProjectsConfigurations -- [taskGraph](../../devkit/documents/HasherContext#taskgraph): TaskGraph +- [hasher](/reference/core-api/devkit/documents/HasherContext#hasher): TaskHasher +- [nxJsonConfiguration](/reference/core-api/devkit/documents/HasherContext#nxjsonconfiguration): NxJsonConfiguration +- [projectGraph](/reference/core-api/devkit/documents/HasherContext#projectgraph): ProjectGraph +- [projectsConfigurations](/reference/core-api/devkit/documents/HasherContext#projectsconfigurations): ProjectsConfigurations +- [taskGraph](/reference/core-api/devkit/documents/HasherContext#taskgraph): TaskGraph ## Properties ### hasher -• **hasher**: [`TaskHasher`](../../devkit/documents/TaskHasher) +• **hasher**: [`TaskHasher`](/reference/core-api/devkit/documents/TaskHasher) --- ### nxJsonConfiguration -• **nxJsonConfiguration**: [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> +• **nxJsonConfiguration**: [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> --- ### projectGraph -• **projectGraph**: [`ProjectGraph`](../../devkit/documents/ProjectGraph) +• **projectGraph**: [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) --- ### projectsConfigurations -• **projectsConfigurations**: [`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +• **projectsConfigurations**: [`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) --- ### taskGraph -• **taskGraph**: [`TaskGraph`](../../devkit/documents/TaskGraph) +• **taskGraph**: [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) diff --git a/docs/generated/devkit/ImplicitDependency.md b/docs/generated/devkit/ImplicitDependency.md index 55b903358f..a322189abf 100644 --- a/docs/generated/devkit/ImplicitDependency.md +++ b/docs/generated/devkit/ImplicitDependency.md @@ -2,14 +2,14 @@ Ƭ **ImplicitDependency**: `Object` -An implicit [ProjectGraph](../../devkit/documents/ProjectGraph) dependency between 2 projects +An implicit [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) dependency between 2 projects This type of dependency indicates a connection without an explicit reference in code #### Type declaration -| Name | Type | Description | -| :------- | :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------- | -| `source` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) depending on the target project | -| `target` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) that the source project depends on | -| `type` | typeof [`implicit`](../../devkit/documents/DependencyType#implicit) | - | +| Name | Type | Description | +| :------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | +| `source` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) depending on the target project | +| `target` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) that the source project depends on | +| `type` | typeof [`implicit`](/reference/core-api/devkit/documents/DependencyType#implicit) | - | diff --git a/docs/generated/devkit/ImplicitDependencyEntry.md b/docs/generated/devkit/ImplicitDependencyEntry.md index 08279593be..32b292afc0 100644 --- a/docs/generated/devkit/ImplicitDependencyEntry.md +++ b/docs/generated/devkit/ImplicitDependencyEntry.md @@ -10,4 +10,4 @@ #### Index signature -▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](../../devkit/documents/ImplicitJsonSubsetDependency)\<`T`\> +▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](/reference/core-api/devkit/documents/ImplicitJsonSubsetDependency)\<`T`\> diff --git a/docs/generated/devkit/ImplicitJsonSubsetDependency.md b/docs/generated/devkit/ImplicitJsonSubsetDependency.md index a9bd559fc9..2aff9546e6 100644 --- a/docs/generated/devkit/ImplicitJsonSubsetDependency.md +++ b/docs/generated/devkit/ImplicitJsonSubsetDependency.md @@ -8,4 +8,4 @@ ## Indexable -▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](../../devkit/documents/ImplicitJsonSubsetDependency)\<`T`\> +▪ [key: `string`]: `T` \| [`ImplicitJsonSubsetDependency`](/reference/core-api/devkit/documents/ImplicitJsonSubsetDependency)\<`T`\> diff --git a/docs/generated/devkit/JsonParseOptions.md b/docs/generated/devkit/JsonParseOptions.md index ebf7f48ed1..4d8756dfc7 100644 --- a/docs/generated/devkit/JsonParseOptions.md +++ b/docs/generated/devkit/JsonParseOptions.md @@ -10,10 +10,10 @@ ### Properties -- [allowEmptyContent](../../devkit/documents/JsonParseOptions#allowemptycontent): boolean -- [allowTrailingComma](../../devkit/documents/JsonParseOptions#allowtrailingcomma): boolean -- [disallowComments](../../devkit/documents/JsonParseOptions#disallowcomments): boolean -- [expectComments](../../devkit/documents/JsonParseOptions#expectcomments): boolean +- [allowEmptyContent](/reference/core-api/devkit/documents/JsonParseOptions#allowemptycontent): boolean +- [allowTrailingComma](/reference/core-api/devkit/documents/JsonParseOptions#allowtrailingcomma): boolean +- [disallowComments](/reference/core-api/devkit/documents/JsonParseOptions#disallowcomments): boolean +- [expectComments](/reference/core-api/devkit/documents/JsonParseOptions#expectcomments): boolean ## Properties diff --git a/docs/generated/devkit/JsonSerializeOptions.md b/docs/generated/devkit/JsonSerializeOptions.md index 8a2c34f2d8..cc4d95a015 100644 --- a/docs/generated/devkit/JsonSerializeOptions.md +++ b/docs/generated/devkit/JsonSerializeOptions.md @@ -4,7 +4,7 @@ ### Properties -- [spaces](../../devkit/documents/JsonSerializeOptions#spaces): number +- [spaces](/reference/core-api/devkit/documents/JsonSerializeOptions#spaces): number ## Properties diff --git a/docs/generated/devkit/Migration.md b/docs/generated/devkit/Migration.md index a66b6287c6..0227d24555 100644 --- a/docs/generated/devkit/Migration.md +++ b/docs/generated/devkit/Migration.md @@ -1,6 +1,6 @@ # Type alias: Migration -Ƭ **Migration**: (`tree`: [`Tree`](../../devkit/documents/Tree)) => `void` \| `Promise`\<`void`\> \| `string`[] \| `Promise`\<`string`[]\> +Ƭ **Migration**: (`tree`: [`Tree`](/reference/core-api/devkit/documents/Tree)) => `void` \| `Promise`\<`void`\> \| `string`[] \| `Promise`\<`string`[]\> Represents a migration that is executed when running `nx migrate`. @@ -13,9 +13,9 @@ a list of next steps to be displayed to the user. ##### Parameters -| Name | Type | -| :----- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | +| Name | Type | +| :----- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | ##### Returns diff --git a/docs/generated/devkit/MigrationsJson.md b/docs/generated/devkit/MigrationsJson.md index 9f3bcfbc78..10c74ac145 100644 --- a/docs/generated/devkit/MigrationsJson.md +++ b/docs/generated/devkit/MigrationsJson.md @@ -4,12 +4,12 @@ ### Properties -- [collection](../../devkit/documents/MigrationsJson#collection): string -- [generators](../../devkit/documents/MigrationsJson#generators): Object -- [name](../../devkit/documents/MigrationsJson#name): string -- [packageJsonUpdates](../../devkit/documents/MigrationsJson#packagejsonupdates): PackageJsonUpdates -- [schematics](../../devkit/documents/MigrationsJson#schematics): Object -- [version](../../devkit/documents/MigrationsJson#version): string +- [collection](/reference/core-api/devkit/documents/MigrationsJson#collection): string +- [generators](/reference/core-api/devkit/documents/MigrationsJson#generators): Object +- [name](/reference/core-api/devkit/documents/MigrationsJson#name): string +- [packageJsonUpdates](/reference/core-api/devkit/documents/MigrationsJson#packagejsonupdates): PackageJsonUpdates +- [schematics](/reference/core-api/devkit/documents/MigrationsJson#schematics): Object +- [version](/reference/core-api/devkit/documents/MigrationsJson#version): string ## Properties diff --git a/docs/generated/devkit/NxAffectedConfig.md b/docs/generated/devkit/NxAffectedConfig.md index 159cb43fa8..ab2a12fee8 100644 --- a/docs/generated/devkit/NxAffectedConfig.md +++ b/docs/generated/devkit/NxAffectedConfig.md @@ -2,13 +2,13 @@ **`Deprecated`** -Use [NxJsonConfiguration#defaultBase](../../devkit/documents/NxJsonConfiguration#defaultbase) instead +Use [NxJsonConfiguration#defaultBase](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultbase) instead ## Table of contents ### Properties -- [defaultBase](../../devkit/documents/NxAffectedConfig#defaultbase): string +- [defaultBase](/reference/core-api/devkit/documents/NxAffectedConfig#defaultbase): string ## Properties diff --git a/docs/generated/devkit/NxJsonConfiguration.md b/docs/generated/devkit/NxJsonConfiguration.md index 17add6a641..7378e34c8c 100644 --- a/docs/generated/devkit/NxJsonConfiguration.md +++ b/docs/generated/devkit/NxJsonConfiguration.md @@ -12,40 +12,40 @@ Nx.json configuration - **`NxJsonConfiguration`** - ↳ [`Workspace`](../../devkit/documents/Workspace) + ↳ [`Workspace`](/reference/core-api/devkit/documents/Workspace) ## Table of contents ### Properties -- [$schema](../../devkit/documents/NxJsonConfiguration#$schema): string -- [affected](../../devkit/documents/NxJsonConfiguration#affected): NxAffectedConfig -- [cacheDirectory](../../devkit/documents/NxJsonConfiguration#cachedirectory): string -- [cli](../../devkit/documents/NxJsonConfiguration#cli): Object -- [defaultBase](../../devkit/documents/NxJsonConfiguration#defaultbase): string -- [defaultProject](../../devkit/documents/NxJsonConfiguration#defaultproject): string -- [extends](../../devkit/documents/NxJsonConfiguration#extends): string -- [generators](../../devkit/documents/NxJsonConfiguration#generators): Object -- [implicitDependencies](../../devkit/documents/NxJsonConfiguration#implicitdependencies): ImplicitDependencyEntry -- [installation](../../devkit/documents/NxJsonConfiguration#installation): NxInstallationConfiguration -- [maxCacheSize](../../devkit/documents/NxJsonConfiguration#maxcachesize): string -- [namedInputs](../../devkit/documents/NxJsonConfiguration#namedinputs): Object -- [neverConnectToCloud](../../devkit/documents/NxJsonConfiguration#neverconnecttocloud): boolean -- [nxCloudAccessToken](../../devkit/documents/NxJsonConfiguration#nxcloudaccesstoken): string -- [nxCloudEncryptionKey](../../devkit/documents/NxJsonConfiguration#nxcloudencryptionkey): string -- [nxCloudId](../../devkit/documents/NxJsonConfiguration#nxcloudid): string -- [nxCloudUrl](../../devkit/documents/NxJsonConfiguration#nxcloudurl): string -- [parallel](../../devkit/documents/NxJsonConfiguration#parallel): number -- [plugins](../../devkit/documents/NxJsonConfiguration#plugins): PluginConfiguration[] -- [pluginsConfig](../../devkit/documents/NxJsonConfiguration#pluginsconfig): Record> -- [release](../../devkit/documents/NxJsonConfiguration#release): NxReleaseConfiguration -- [sync](../../devkit/documents/NxJsonConfiguration#sync): NxSyncConfiguration -- [targetDefaults](../../devkit/documents/NxJsonConfiguration#targetdefaults): TargetDefaults -- [tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions): Object -- [tui](../../devkit/documents/NxJsonConfiguration#tui): Object -- [useDaemonProcess](../../devkit/documents/NxJsonConfiguration#usedaemonprocess): boolean -- [useInferencePlugins](../../devkit/documents/NxJsonConfiguration#useinferenceplugins): boolean -- [workspaceLayout](../../devkit/documents/NxJsonConfiguration#workspacelayout): Object +- [$schema](/reference/core-api/devkit/documents/NxJsonConfiguration#$schema): string +- [affected](/reference/core-api/devkit/documents/NxJsonConfiguration#affected): NxAffectedConfig +- [cacheDirectory](/reference/core-api/devkit/documents/NxJsonConfiguration#cachedirectory): string +- [cli](/reference/core-api/devkit/documents/NxJsonConfiguration#cli): Object +- [defaultBase](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultbase): string +- [defaultProject](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultproject): string +- [extends](/reference/core-api/devkit/documents/NxJsonConfiguration#extends): string +- [generators](/reference/core-api/devkit/documents/NxJsonConfiguration#generators): Object +- [implicitDependencies](/reference/core-api/devkit/documents/NxJsonConfiguration#implicitdependencies): ImplicitDependencyEntry +- [installation](/reference/core-api/devkit/documents/NxJsonConfiguration#installation): NxInstallationConfiguration +- [maxCacheSize](/reference/core-api/devkit/documents/NxJsonConfiguration#maxcachesize): string +- [namedInputs](/reference/core-api/devkit/documents/NxJsonConfiguration#namedinputs): Object +- [neverConnectToCloud](/reference/core-api/devkit/documents/NxJsonConfiguration#neverconnecttocloud): boolean +- [nxCloudAccessToken](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudaccesstoken): string +- [nxCloudEncryptionKey](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudencryptionkey): string +- [nxCloudId](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudid): string +- [nxCloudUrl](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudurl): string +- [parallel](/reference/core-api/devkit/documents/NxJsonConfiguration#parallel): number +- [plugins](/reference/core-api/devkit/documents/NxJsonConfiguration#plugins): PluginConfiguration[] +- [pluginsConfig](/reference/core-api/devkit/documents/NxJsonConfiguration#pluginsconfig): Record> +- [release](/reference/core-api/devkit/documents/NxJsonConfiguration#release): NxReleaseConfiguration +- [sync](/reference/core-api/devkit/documents/NxJsonConfiguration#sync): NxSyncConfiguration +- [targetDefaults](/reference/core-api/devkit/documents/NxJsonConfiguration#targetdefaults): TargetDefaults +- [tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions): Object +- [tui](/reference/core-api/devkit/documents/NxJsonConfiguration#tui): Object +- [useDaemonProcess](/reference/core-api/devkit/documents/NxJsonConfiguration#usedaemonprocess): boolean +- [useInferencePlugins](/reference/core-api/devkit/documents/NxJsonConfiguration#useinferenceplugins): boolean +- [workspaceLayout](/reference/core-api/devkit/documents/NxJsonConfiguration#workspacelayout): Object ## Properties @@ -57,13 +57,13 @@ Nx.json configuration ### affected -• `Optional` **affected**: [`NxAffectedConfig`](../../devkit/documents/NxAffectedConfig) +• `Optional` **affected**: [`NxAffectedConfig`](/reference/core-api/devkit/documents/NxAffectedConfig) Default options for `nx affected` **`Deprecated`** -use [defaultBase](../../devkit/documents/NxJsonConfiguration#defaultbase) instead. For more information see https://nx.dev/deprecated/affected-config#affected-config +use [defaultBase](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultbase) instead. For more information see https://nx.dev/deprecated/affected-config#affected-config --- @@ -83,10 +83,10 @@ Default generator collection. It is used when no collection is provided. #### Type declaration -| Name | Type | -| :-------------------- | :-------------------------------------------------------- | -| `defaultProjectName?` | `string` | -| `packageManager?` | [`PackageManager`](../../devkit/documents/PackageManager) | +| Name | Type | +| :-------------------- | :---------------------------------------------------------------------- | +| `defaultProjectName?` | `string` | +| `packageManager?` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | --- @@ -143,13 +143,13 @@ Example: ### implicitDependencies -• `Optional` **implicitDependencies**: [`ImplicitDependencyEntry`](../../devkit/documents/ImplicitDependencyEntry)\<`T`\> +• `Optional` **implicitDependencies**: [`ImplicitDependencyEntry`](/reference/core-api/devkit/documents/ImplicitDependencyEntry)\<`T`\> Map of files to projects that implicitly depend on them **`Deprecated`** -use [namedInputs](../../devkit/documents/NxJsonConfiguration#namedinputs) instead. For more information see https://nx.dev/deprecated/global-implicit-dependencies#global-implicit-dependencies +use [namedInputs](/reference/core-api/devkit/documents/NxJsonConfiguration#namedinputs) instead. For more information see https://nx.dev/deprecated/global-implicit-dependencies#global-implicit-dependencies --- @@ -196,7 +196,7 @@ Set this to true to disable connection to Nx Cloud • `Optional` **nxCloudAccessToken**: `string` If specified Nx will use nx-cloud by default with the given token. -To use a different runner that accepts an access token, define it in [tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions) +To use a different runner that accepts an access token, define it in [tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions) --- @@ -213,7 +213,7 @@ Specifies the encryption key used to encrypt artifacts data before sending it to • `Optional` **nxCloudId**: `string` If specified Nx will use nx-cloud by default with the given cloud id. -To use a different runner that accepts a cloud id, define it in [tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions) +To use a different runner that accepts a cloud id, define it in [tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions) --- @@ -236,7 +236,7 @@ Specifies how many tasks can be run in parallel. ### plugins -• `Optional` **plugins**: [`PluginConfiguration`](../../devkit/documents/PluginConfiguration)[] +• `Optional` **plugins**: [`PluginConfiguration`](/reference/core-api/devkit/documents/PluginConfiguration)[] Plugins for extending the project graph @@ -268,7 +268,7 @@ Configuration for the `nx sync` command. ### targetDefaults -• `Optional` **targetDefaults**: [`TargetDefaults`](../../devkit/documents/TargetDefaults) +• `Optional` **targetDefaults**: [`TargetDefaults`](/reference/core-api/devkit/documents/TargetDefaults) Dependencies between different target names across all projects diff --git a/docs/generated/devkit/NxPlugin.md b/docs/generated/devkit/NxPlugin.md index e344bb6ca5..b491645881 100644 --- a/docs/generated/devkit/NxPlugin.md +++ b/docs/generated/devkit/NxPlugin.md @@ -1,5 +1,5 @@ # Type alias: NxPlugin -Ƭ **NxPlugin**: [`NxPluginV2`](../../devkit/documents/NxPluginV2) +Ƭ **NxPlugin**: [`NxPluginV2`](/reference/core-api/devkit/documents/NxPluginV2) A plugin which enhances the behavior of Nx diff --git a/docs/generated/devkit/NxPluginV2.md b/docs/generated/devkit/NxPluginV2.md index 4405221237..8e88c86921 100644 --- a/docs/generated/devkit/NxPluginV2.md +++ b/docs/generated/devkit/NxPluginV2.md @@ -12,12 +12,12 @@ A plugin which enhances the behavior of Nx #### Type declaration -| Name | Type | Description | -| :-------------------- | :------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `createDependencies?` | [`CreateDependencies`](../../devkit/documents/CreateDependencies)\<`TOptions`\> | Provides a function to analyze files to create dependencies for the [ProjectGraph](../../devkit/documents/ProjectGraph) | -| `createMetadata?` | [`CreateMetadata`](../../devkit/documents/CreateMetadata)\<`TOptions`\> | Provides a function to create metadata for the [ProjectGraph](../../devkit/documents/ProjectGraph) | -| `createNodes?` | [`CreateNodes`](../../devkit/documents/CreateNodes)\<`TOptions`\> | Provides a file pattern and function that retrieves configuration info from those files. e.g. { '**/\*.csproj': buildProjectsFromCsProjFile } **`Deprecated`\*\* Use createNodesV2 instead. In Nx 21 support for calling createNodes with a single file for the first argument will be removed. | -| `createNodesV2?` | [`CreateNodesV2`](../../devkit/documents/CreateNodesV2)\<`TOptions`\> | Provides a file pattern and function that retrieves configuration info from those files. e.g. { '\*_/_.csproj': buildProjectsFromCsProjFiles } In Nx 21 createNodes will be replaced with this property. In Nx 22, this property will be removed. | -| `name` | `string` | - | -| `postTasksExecution?` | [`PostTasksExecution`](../../devkit/documents/PostTasksExecution)\<`TOptions`\> | Provides a function to run after the Nx runs tasks | -| `preTasksExecution?` | [`PreTasksExecution`](../../devkit/documents/PreTasksExecution)\<`TOptions`\> | Provides a function to run before the Nx runs tasks | +| Name | Type | Description | +| :-------------------- | :-------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `createDependencies?` | [`CreateDependencies`](/reference/core-api/devkit/documents/CreateDependencies)\<`TOptions`\> | Provides a function to analyze files to create dependencies for the [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) | +| `createMetadata?` | [`CreateMetadata`](/reference/core-api/devkit/documents/CreateMetadata)\<`TOptions`\> | Provides a function to create metadata for the [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) | +| `createNodes?` | [`CreateNodes`](/reference/core-api/devkit/documents/CreateNodes)\<`TOptions`\> | Provides a file pattern and function that retrieves configuration info from those files. e.g. { '**/\*.csproj': buildProjectsFromCsProjFile } **`Deprecated`\*\* Use createNodesV2 instead. In Nx 21 support for calling createNodes with a single file for the first argument will be removed. | +| `createNodesV2?` | [`CreateNodesV2`](/reference/core-api/devkit/documents/CreateNodesV2)\<`TOptions`\> | Provides a file pattern and function that retrieves configuration info from those files. e.g. { '\*_/_.csproj': buildProjectsFromCsProjFiles } In Nx 21 createNodes will be replaced with this property. In Nx 22, this property will be removed. | +| `name` | `string` | - | +| `postTasksExecution?` | [`PostTasksExecution`](/reference/core-api/devkit/documents/PostTasksExecution)\<`TOptions`\> | Provides a function to run after the Nx runs tasks | +| `preTasksExecution?` | [`PreTasksExecution`](/reference/core-api/devkit/documents/PreTasksExecution)\<`TOptions`\> | Provides a function to run before the Nx runs tasks | diff --git a/docs/generated/devkit/OverwriteStrategy.md b/docs/generated/devkit/OverwriteStrategy.md index 9b750c4347..62c452b8e8 100644 --- a/docs/generated/devkit/OverwriteStrategy.md +++ b/docs/generated/devkit/OverwriteStrategy.md @@ -6,9 +6,9 @@ Specify what should be done when a file is generated but already exists on the s ### Enumeration Members -- [KeepExisting](../../devkit/documents/OverwriteStrategy#keepexisting) -- [Overwrite](../../devkit/documents/OverwriteStrategy#overwrite) -- [ThrowIfExisting](../../devkit/documents/OverwriteStrategy#throwifexisting) +- [KeepExisting](/reference/core-api/devkit/documents/OverwriteStrategy#keepexisting) +- [Overwrite](/reference/core-api/devkit/documents/OverwriteStrategy#overwrite) +- [ThrowIfExisting](/reference/core-api/devkit/documents/OverwriteStrategy#throwifexisting) ## Enumeration Members diff --git a/docs/generated/devkit/PluginConfiguration.md b/docs/generated/devkit/PluginConfiguration.md index fd55cbdc88..c9de6d8626 100644 --- a/docs/generated/devkit/PluginConfiguration.md +++ b/docs/generated/devkit/PluginConfiguration.md @@ -1,3 +1,3 @@ # Type alias: PluginConfiguration -Ƭ **PluginConfiguration**: `string` \| [`ExpandedPluginConfiguration`](../../devkit/documents/ExpandedPluginConfiguration) +Ƭ **PluginConfiguration**: `string` \| [`ExpandedPluginConfiguration`](/reference/core-api/devkit/documents/ExpandedPluginConfiguration) diff --git a/docs/generated/devkit/PostTasksExecution.md b/docs/generated/devkit/PostTasksExecution.md index 6845262489..55c1ae06ad 100644 --- a/docs/generated/devkit/PostTasksExecution.md +++ b/docs/generated/devkit/PostTasksExecution.md @@ -1,6 +1,6 @@ # Type alias: PostTasksExecution\ -Ƭ **PostTasksExecution**\<`TOptions`\>: (`options`: `TOptions` \| `undefined`, `context`: [`PostTasksExecutionContext`](../../devkit/documents/PostTasksExecutionContext)) => `void` \| `Promise`\<`void`\> +Ƭ **PostTasksExecution**\<`TOptions`\>: (`options`: `TOptions` \| `undefined`, `context`: [`PostTasksExecutionContext`](/reference/core-api/devkit/documents/PostTasksExecutionContext)) => `void` \| `Promise`\<`void`\> #### Type parameters @@ -14,10 +14,10 @@ ##### Parameters -| Name | Type | -| :-------- | :------------------------------------------------------------------------------ | -| `options` | `TOptions` \| `undefined` | -| `context` | [`PostTasksExecutionContext`](../../devkit/documents/PostTasksExecutionContext) | +| Name | Type | +| :-------- | :-------------------------------------------------------------------------------------------- | +| `options` | `TOptions` \| `undefined` | +| `context` | [`PostTasksExecutionContext`](/reference/core-api/devkit/documents/PostTasksExecutionContext) | ##### Returns diff --git a/docs/generated/devkit/PostTasksExecutionContext.md b/docs/generated/devkit/PostTasksExecutionContext.md index 503281696d..d698a6ff88 100644 --- a/docs/generated/devkit/PostTasksExecutionContext.md +++ b/docs/generated/devkit/PostTasksExecutionContext.md @@ -4,8 +4,8 @@ #### Type declaration -| Name | Type | -| :-------------------- | :------------------------------------------------------------------ | -| `nxJsonConfiguration` | [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) | -| `taskResults` | [`TaskResults`](../../devkit/documents/TaskResults) | -| `workspaceRoot` | `string` | +| Name | Type | +| :-------------------- | :-------------------------------------------------------------------------------- | +| `nxJsonConfiguration` | [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) | +| `taskResults` | [`TaskResults`](/reference/core-api/devkit/documents/TaskResults) | +| `workspaceRoot` | `string` | diff --git a/docs/generated/devkit/PreTasksExecution.md b/docs/generated/devkit/PreTasksExecution.md index 68726afe7e..a6a4ff89ac 100644 --- a/docs/generated/devkit/PreTasksExecution.md +++ b/docs/generated/devkit/PreTasksExecution.md @@ -1,6 +1,6 @@ # Type alias: PreTasksExecution\ -Ƭ **PreTasksExecution**\<`TOptions`\>: (`options`: `TOptions` \| `undefined`, `context`: [`PreTasksExecutionContext`](../../devkit/documents/PreTasksExecutionContext)) => `void` \| `Promise`\<`void`\> +Ƭ **PreTasksExecution**\<`TOptions`\>: (`options`: `TOptions` \| `undefined`, `context`: [`PreTasksExecutionContext`](/reference/core-api/devkit/documents/PreTasksExecutionContext)) => `void` \| `Promise`\<`void`\> #### Type parameters @@ -14,10 +14,10 @@ ##### Parameters -| Name | Type | -| :-------- | :---------------------------------------------------------------------------- | -| `options` | `TOptions` \| `undefined` | -| `context` | [`PreTasksExecutionContext`](../../devkit/documents/PreTasksExecutionContext) | +| Name | Type | +| :-------- | :------------------------------------------------------------------------------------------ | +| `options` | `TOptions` \| `undefined` | +| `context` | [`PreTasksExecutionContext`](/reference/core-api/devkit/documents/PreTasksExecutionContext) | ##### Returns diff --git a/docs/generated/devkit/PreTasksExecutionContext.md b/docs/generated/devkit/PreTasksExecutionContext.md index 41814a0b24..b30440a2d6 100644 --- a/docs/generated/devkit/PreTasksExecutionContext.md +++ b/docs/generated/devkit/PreTasksExecutionContext.md @@ -4,7 +4,7 @@ #### Type declaration -| Name | Type | -| :-------------------- | :------------------------------------------------------------------ | -| `nxJsonConfiguration` | [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) | -| `workspaceRoot` | `string` | +| Name | Type | +| :-------------------- | :-------------------------------------------------------------------------------- | +| `nxJsonConfiguration` | [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) | +| `workspaceRoot` | `string` | diff --git a/docs/generated/devkit/ProjectConfiguration.md b/docs/generated/devkit/ProjectConfiguration.md index 0cfe956714..b78576d93e 100644 --- a/docs/generated/devkit/ProjectConfiguration.md +++ b/docs/generated/devkit/ProjectConfiguration.md @@ -6,17 +6,17 @@ Project configuration ### Properties -- [generators](../../devkit/documents/ProjectConfiguration#generators): Object -- [implicitDependencies](../../devkit/documents/ProjectConfiguration#implicitdependencies): string[] -- [metadata](../../devkit/documents/ProjectConfiguration#metadata): ProjectMetadata -- [name](../../devkit/documents/ProjectConfiguration#name): string -- [namedInputs](../../devkit/documents/ProjectConfiguration#namedinputs): Object -- [projectType](../../devkit/documents/ProjectConfiguration#projecttype): ProjectType -- [release](../../devkit/documents/ProjectConfiguration#release): Object -- [root](../../devkit/documents/ProjectConfiguration#root): string -- [sourceRoot](../../devkit/documents/ProjectConfiguration#sourceroot): string -- [tags](../../devkit/documents/ProjectConfiguration#tags): string[] -- [targets](../../devkit/documents/ProjectConfiguration#targets): Object +- [generators](/reference/core-api/devkit/documents/ProjectConfiguration#generators): Object +- [implicitDependencies](/reference/core-api/devkit/documents/ProjectConfiguration#implicitdependencies): string[] +- [metadata](/reference/core-api/devkit/documents/ProjectConfiguration#metadata): ProjectMetadata +- [name](/reference/core-api/devkit/documents/ProjectConfiguration#name): string +- [namedInputs](/reference/core-api/devkit/documents/ProjectConfiguration#namedinputs): Object +- [projectType](/reference/core-api/devkit/documents/ProjectConfiguration#projecttype): ProjectType +- [release](/reference/core-api/devkit/documents/ProjectConfiguration#release): Object +- [root](/reference/core-api/devkit/documents/ProjectConfiguration#root): string +- [sourceRoot](/reference/core-api/devkit/documents/ProjectConfiguration#sourceroot): string +- [tags](/reference/core-api/devkit/documents/ProjectConfiguration#tags): string[] +- [targets](/reference/core-api/devkit/documents/ProjectConfiguration#targets): Object ## Properties @@ -84,7 +84,7 @@ Named inputs targets can refer to reduce duplication ### projectType -• `Optional` **projectType**: [`ProjectType`](../../devkit/documents/ProjectType) +• `Optional` **projectType**: [`ProjectType`](/reference/core-api/devkit/documents/ProjectType) Project type @@ -136,4 +136,4 @@ Project's targets #### Index signature -▪ [targetName: `string`]: [`TargetConfiguration`](../../devkit/documents/TargetConfiguration) +▪ [targetName: `string`]: [`TargetConfiguration`](/reference/core-api/devkit/documents/TargetConfiguration) diff --git a/docs/generated/devkit/ProjectFileMap.md b/docs/generated/devkit/ProjectFileMap.md index 86efa81a5f..ab977fb691 100644 --- a/docs/generated/devkit/ProjectFileMap.md +++ b/docs/generated/devkit/ProjectFileMap.md @@ -4,4 +4,4 @@ A list of files separated by the project they belong to ## Indexable -▪ [projectName: `string`]: [`FileData`](../../devkit/documents/FileData)[] +▪ [projectName: `string`]: [`FileData`](/reference/core-api/devkit/documents/FileData)[] diff --git a/docs/generated/devkit/ProjectGraph.md b/docs/generated/devkit/ProjectGraph.md index dd3eb89567..1467d58a40 100644 --- a/docs/generated/devkit/ProjectGraph.md +++ b/docs/generated/devkit/ProjectGraph.md @@ -6,28 +6,28 @@ A Graph of projects in the workspace and dependencies between them ### Properties -- [dependencies](../../devkit/documents/ProjectGraph#dependencies): Record -- [externalNodes](../../devkit/documents/ProjectGraph#externalnodes): Record -- [nodes](../../devkit/documents/ProjectGraph#nodes): Record -- [version](../../devkit/documents/ProjectGraph#version): string +- [dependencies](/reference/core-api/devkit/documents/ProjectGraph#dependencies): Record +- [externalNodes](/reference/core-api/devkit/documents/ProjectGraph#externalnodes): Record +- [nodes](/reference/core-api/devkit/documents/ProjectGraph#nodes): Record +- [version](/reference/core-api/devkit/documents/ProjectGraph#version): string ## Properties ### dependencies -• **dependencies**: `Record`\<`string`, [`ProjectGraphDependency`](../../devkit/documents/ProjectGraphDependency)[]\> +• **dependencies**: `Record`\<`string`, [`ProjectGraphDependency`](/reference/core-api/devkit/documents/ProjectGraphDependency)[]\> --- ### externalNodes -• `Optional` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](../../devkit/documents/ProjectGraphExternalNode)\> +• `Optional` **externalNodes**: `Record`\<`string`, [`ProjectGraphExternalNode`](/reference/core-api/devkit/documents/ProjectGraphExternalNode)\> --- ### nodes -• **nodes**: `Record`\<`string`, [`ProjectGraphProjectNode`](../../devkit/documents/ProjectGraphProjectNode)\> +• **nodes**: `Record`\<`string`, [`ProjectGraphProjectNode`](/reference/core-api/devkit/documents/ProjectGraphProjectNode)\> --- diff --git a/docs/generated/devkit/ProjectGraphDependency.md b/docs/generated/devkit/ProjectGraphDependency.md index 417853fa58..b1cc7f6ab1 100644 --- a/docs/generated/devkit/ProjectGraphDependency.md +++ b/docs/generated/devkit/ProjectGraphDependency.md @@ -6,9 +6,9 @@ A dependency between two projects ### Properties -- [source](../../devkit/documents/ProjectGraphDependency#source): string -- [target](../../devkit/documents/ProjectGraphDependency#target): string -- [type](../../devkit/documents/ProjectGraphDependency#type): string +- [source](/reference/core-api/devkit/documents/ProjectGraphDependency#source): string +- [target](/reference/core-api/devkit/documents/ProjectGraphDependency#target): string +- [type](/reference/core-api/devkit/documents/ProjectGraphDependency#type): string ## Properties diff --git a/docs/generated/devkit/ProjectGraphExternalNode.md b/docs/generated/devkit/ProjectGraphExternalNode.md index 52324003d2..88158dddbd 100644 --- a/docs/generated/devkit/ProjectGraphExternalNode.md +++ b/docs/generated/devkit/ProjectGraphExternalNode.md @@ -13,9 +13,9 @@ while allowing tracking of the full tree of different nested versions ### Properties -- [data](../../devkit/documents/ProjectGraphExternalNode#data): Object -- [name](../../devkit/documents/ProjectGraphExternalNode#name): string -- [type](../../devkit/documents/ProjectGraphExternalNode#type): string +- [data](/reference/core-api/devkit/documents/ProjectGraphExternalNode#data): Object +- [name](/reference/core-api/devkit/documents/ProjectGraphExternalNode#name): string +- [type](/reference/core-api/devkit/documents/ProjectGraphExternalNode#type): string ## Properties diff --git a/docs/generated/devkit/ProjectGraphProjectNode.md b/docs/generated/devkit/ProjectGraphProjectNode.md index a641649d80..f846b9dcaf 100644 --- a/docs/generated/devkit/ProjectGraphProjectNode.md +++ b/docs/generated/devkit/ProjectGraphProjectNode.md @@ -6,15 +6,15 @@ A node describing a project in a workspace ### Properties -- [data](../../devkit/documents/ProjectGraphProjectNode#data): ProjectConfiguration & Object -- [name](../../devkit/documents/ProjectGraphProjectNode#name): string -- [type](../../devkit/documents/ProjectGraphProjectNode#type): "lib" | "app" | "e2e" +- [data](/reference/core-api/devkit/documents/ProjectGraphProjectNode#data): ProjectConfiguration & Object +- [name](/reference/core-api/devkit/documents/ProjectGraphProjectNode#name): string +- [type](/reference/core-api/devkit/documents/ProjectGraphProjectNode#type): "lib" | "app" | "e2e" ## Properties ### data -• **data**: [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) & \{ `description?`: `string` } +• **data**: [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) & \{ `description?`: `string` } Additional metadata about a project diff --git a/docs/generated/devkit/ProjectsConfigurations.md b/docs/generated/devkit/ProjectsConfigurations.md index 60c94c341d..085543e049 100644 --- a/docs/generated/devkit/ProjectsConfigurations.md +++ b/docs/generated/devkit/ProjectsConfigurations.md @@ -6,14 +6,14 @@ Projects Configurations - **`ProjectsConfigurations`** - ↳ [`Workspace`](../../devkit/documents/Workspace) + ↳ [`Workspace`](/reference/core-api/devkit/documents/Workspace) ## Table of contents ### Properties -- [projects](../../devkit/documents/ProjectsConfigurations#projects): Object -- [version](../../devkit/documents/ProjectsConfigurations#version): number +- [projects](/reference/core-api/devkit/documents/ProjectsConfigurations#projects): Object +- [version](/reference/core-api/devkit/documents/ProjectsConfigurations#version): number ## Properties @@ -25,7 +25,7 @@ Projects' projects #### Index signature -▪ [projectName: `string`]: [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) +▪ [projectName: `string`]: [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) --- diff --git a/docs/generated/devkit/ProjectsMetadata.md b/docs/generated/devkit/ProjectsMetadata.md index ac0640576d..51477bfaff 100644 --- a/docs/generated/devkit/ProjectsMetadata.md +++ b/docs/generated/devkit/ProjectsMetadata.md @@ -1,3 +1,3 @@ # Type alias: ProjectsMetadata -Ƭ **ProjectsMetadata**: `Record`\<`string`, `Pick`\<[`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration), `"metadata"`\>\> +Ƭ **ProjectsMetadata**: `Record`\<`string`, `Pick`\<[`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration), `"metadata"`\>\> diff --git a/docs/generated/devkit/PromiseExecutor.md b/docs/generated/devkit/PromiseExecutor.md index 8446698ec4..e48bbd904d 100644 --- a/docs/generated/devkit/PromiseExecutor.md +++ b/docs/generated/devkit/PromiseExecutor.md @@ -1,6 +1,6 @@ # Type alias: PromiseExecutor\ -Ƭ **PromiseExecutor**\<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](../../devkit/documents/ExecutorContext)) => `Promise`\<\{ `success`: `boolean` }\> +Ƭ **PromiseExecutor**\<`T`\>: (`options`: `T`, `context`: [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext)) => `Promise`\<\{ `success`: `boolean` }\> An executor implementation that returns a promise @@ -16,10 +16,10 @@ An executor implementation that returns a promise ##### Parameters -| Name | Type | -| :-------- | :---------------------------------------------------------- | -| `options` | `T` | -| `context` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :-------- | :------------------------------------------------------------------------ | +| `options` | `T` | +| `context` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | ##### Returns diff --git a/docs/generated/devkit/README.md b/docs/generated/devkit/README.md index c873221ad0..42cd85bf85 100644 --- a/docs/generated/devkit/README.md +++ b/docs/generated/devkit/README.md @@ -13,163 +13,163 @@ It only uses language primitives and immutable objects ### Enumerations -- [ChangeType](../../devkit/documents/ChangeType) -- [DependencyType](../../devkit/documents/DependencyType) -- [OverwriteStrategy](../../devkit/documents/OverwriteStrategy) +- [ChangeType](/reference/core-api/devkit/documents/ChangeType) +- [DependencyType](/reference/core-api/devkit/documents/DependencyType) +- [OverwriteStrategy](/reference/core-api/devkit/documents/OverwriteStrategy) ### Classes -- [AggregateCreateNodesError](../../devkit/documents/AggregateCreateNodesError) -- [StaleProjectGraphCacheError](../../devkit/documents/StaleProjectGraphCacheError) +- [AggregateCreateNodesError](/reference/core-api/devkit/documents/AggregateCreateNodesError) +- [StaleProjectGraphCacheError](/reference/core-api/devkit/documents/StaleProjectGraphCacheError) ### Interfaces -- [CreateDependenciesContext](../../devkit/documents/CreateDependenciesContext) -- [CreateNodesContext](../../devkit/documents/CreateNodesContext) -- [CreateNodesContextV2](../../devkit/documents/CreateNodesContextV2) -- [CreateNodesResult](../../devkit/documents/CreateNodesResult) -- [DefaultTasksRunnerOptions](../../devkit/documents/DefaultTasksRunnerOptions) -- [ExecutorContext](../../devkit/documents/ExecutorContext) -- [ExecutorsJson](../../devkit/documents/ExecutorsJson) -- [FileChange](../../devkit/documents/FileChange) -- [FileData](../../devkit/documents/FileData) -- [FileMap](../../devkit/documents/FileMap) -- [GeneratorsJson](../../devkit/documents/GeneratorsJson) -- [GraphJson](../../devkit/documents/GraphJson) -- [Hash](../../devkit/documents/Hash) -- [HasherContext](../../devkit/documents/HasherContext) -- [ImplicitJsonSubsetDependency](../../devkit/documents/ImplicitJsonSubsetDependency) -- [JsonParseOptions](../../devkit/documents/JsonParseOptions) -- [JsonSerializeOptions](../../devkit/documents/JsonSerializeOptions) -- [MigrationsJson](../../devkit/documents/MigrationsJson) -- [NxAffectedConfig](../../devkit/documents/NxAffectedConfig) -- [NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration) -- [ProjectConfiguration](../../devkit/documents/ProjectConfiguration) -- [ProjectFileMap](../../devkit/documents/ProjectFileMap) -- [ProjectGraph](../../devkit/documents/ProjectGraph) -- [ProjectGraphDependency](../../devkit/documents/ProjectGraphDependency) -- [ProjectGraphExternalNode](../../devkit/documents/ProjectGraphExternalNode) -- [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) -- [ProjectsConfigurations](../../devkit/documents/ProjectsConfigurations) -- [RemoteCache](../../devkit/documents/RemoteCache) -- [StringDeletion](../../devkit/documents/StringDeletion) -- [StringInsertion](../../devkit/documents/StringInsertion) -- [Target](../../devkit/documents/Target) -- [TargetConfiguration](../../devkit/documents/TargetConfiguration) -- [TargetDependencyConfig](../../devkit/documents/TargetDependencyConfig) -- [Task](../../devkit/documents/Task) -- [TaskGraph](../../devkit/documents/TaskGraph) -- [TaskHasher](../../devkit/documents/TaskHasher) -- [TaskResult](../../devkit/documents/TaskResult) -- [Tree](../../devkit/documents/Tree) -- [Workspace](../../devkit/documents/Workspace) +- [CreateDependenciesContext](/reference/core-api/devkit/documents/CreateDependenciesContext) +- [CreateNodesContext](/reference/core-api/devkit/documents/CreateNodesContext) +- [CreateNodesContextV2](/reference/core-api/devkit/documents/CreateNodesContextV2) +- [CreateNodesResult](/reference/core-api/devkit/documents/CreateNodesResult) +- [DefaultTasksRunnerOptions](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions) +- [ExecutorContext](/reference/core-api/devkit/documents/ExecutorContext) +- [ExecutorsJson](/reference/core-api/devkit/documents/ExecutorsJson) +- [FileChange](/reference/core-api/devkit/documents/FileChange) +- [FileData](/reference/core-api/devkit/documents/FileData) +- [FileMap](/reference/core-api/devkit/documents/FileMap) +- [GeneratorsJson](/reference/core-api/devkit/documents/GeneratorsJson) +- [GraphJson](/reference/core-api/devkit/documents/GraphJson) +- [Hash](/reference/core-api/devkit/documents/Hash) +- [HasherContext](/reference/core-api/devkit/documents/HasherContext) +- [ImplicitJsonSubsetDependency](/reference/core-api/devkit/documents/ImplicitJsonSubsetDependency) +- [JsonParseOptions](/reference/core-api/devkit/documents/JsonParseOptions) +- [JsonSerializeOptions](/reference/core-api/devkit/documents/JsonSerializeOptions) +- [MigrationsJson](/reference/core-api/devkit/documents/MigrationsJson) +- [NxAffectedConfig](/reference/core-api/devkit/documents/NxAffectedConfig) +- [NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration) +- [ProjectConfiguration](/reference/core-api/devkit/documents/ProjectConfiguration) +- [ProjectFileMap](/reference/core-api/devkit/documents/ProjectFileMap) +- [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) +- [ProjectGraphDependency](/reference/core-api/devkit/documents/ProjectGraphDependency) +- [ProjectGraphExternalNode](/reference/core-api/devkit/documents/ProjectGraphExternalNode) +- [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) +- [ProjectsConfigurations](/reference/core-api/devkit/documents/ProjectsConfigurations) +- [RemoteCache](/reference/core-api/devkit/documents/RemoteCache) +- [StringDeletion](/reference/core-api/devkit/documents/StringDeletion) +- [StringInsertion](/reference/core-api/devkit/documents/StringInsertion) +- [Target](/reference/core-api/devkit/documents/Target) +- [TargetConfiguration](/reference/core-api/devkit/documents/TargetConfiguration) +- [TargetDependencyConfig](/reference/core-api/devkit/documents/TargetDependencyConfig) +- [Task](/reference/core-api/devkit/documents/Task) +- [TaskGraph](/reference/core-api/devkit/documents/TaskGraph) +- [TaskHasher](/reference/core-api/devkit/documents/TaskHasher) +- [TaskResult](/reference/core-api/devkit/documents/TaskResult) +- [Tree](/reference/core-api/devkit/documents/Tree) +- [Workspace](/reference/core-api/devkit/documents/Workspace) ### Type Aliases -- [AsyncIteratorExecutor](../../devkit/documents/AsyncIteratorExecutor) -- [CreateDependencies](../../devkit/documents/CreateDependencies) -- [CreateMetadata](../../devkit/documents/CreateMetadata) -- [CreateMetadataContext](../../devkit/documents/CreateMetadataContext) -- [CreateNodes](../../devkit/documents/CreateNodes) -- [CreateNodesFunction](../../devkit/documents/CreateNodesFunction) -- [CreateNodesFunctionV2](../../devkit/documents/CreateNodesFunctionV2) -- [CreateNodesResultV2](../../devkit/documents/CreateNodesResultV2) -- [CreateNodesV2](../../devkit/documents/CreateNodesV2) -- [CustomHasher](../../devkit/documents/CustomHasher) -- [DynamicDependency](../../devkit/documents/DynamicDependency) -- [Executor](../../devkit/documents/Executor) -- [ExpandedPluginConfiguration](../../devkit/documents/ExpandedPluginConfiguration) -- [Generator](../../devkit/documents/Generator) -- [GeneratorCallback](../../devkit/documents/GeneratorCallback) -- [Hasher](../../devkit/documents/Hasher) -- [ImplicitDependency](../../devkit/documents/ImplicitDependency) -- [ImplicitDependencyEntry](../../devkit/documents/ImplicitDependencyEntry) -- [Migration](../../devkit/documents/Migration) -- [NxPlugin](../../devkit/documents/NxPlugin) -- [NxPluginV2](../../devkit/documents/NxPluginV2) -- [PackageManager](../../devkit/documents/PackageManager) -- [PluginConfiguration](../../devkit/documents/PluginConfiguration) -- [PostTasksExecution](../../devkit/documents/PostTasksExecution) -- [PostTasksExecutionContext](../../devkit/documents/PostTasksExecutionContext) -- [PreTasksExecution](../../devkit/documents/PreTasksExecution) -- [PreTasksExecutionContext](../../devkit/documents/PreTasksExecutionContext) -- [ProjectType](../../devkit/documents/ProjectType) -- [ProjectsMetadata](../../devkit/documents/ProjectsMetadata) -- [PromiseExecutor](../../devkit/documents/PromiseExecutor) -- [RawProjectGraphDependency](../../devkit/documents/RawProjectGraphDependency) -- [StaticDependency](../../devkit/documents/StaticDependency) -- [StringChange](../../devkit/documents/StringChange) -- [TargetDefaults](../../devkit/documents/TargetDefaults) -- [TaskGraphExecutor](../../devkit/documents/TaskGraphExecutor) -- [TaskResults](../../devkit/documents/TaskResults) -- [ToJSOptions](../../devkit/documents/ToJSOptions) -- [WorkspaceJsonConfiguration](../../devkit/documents/WorkspaceJsonConfiguration) +- [AsyncIteratorExecutor](/reference/core-api/devkit/documents/AsyncIteratorExecutor) +- [CreateDependencies](/reference/core-api/devkit/documents/CreateDependencies) +- [CreateMetadata](/reference/core-api/devkit/documents/CreateMetadata) +- [CreateMetadataContext](/reference/core-api/devkit/documents/CreateMetadataContext) +- [CreateNodes](/reference/core-api/devkit/documents/CreateNodes) +- [CreateNodesFunction](/reference/core-api/devkit/documents/CreateNodesFunction) +- [CreateNodesFunctionV2](/reference/core-api/devkit/documents/CreateNodesFunctionV2) +- [CreateNodesResultV2](/reference/core-api/devkit/documents/CreateNodesResultV2) +- [CreateNodesV2](/reference/core-api/devkit/documents/CreateNodesV2) +- [CustomHasher](/reference/core-api/devkit/documents/CustomHasher) +- [DynamicDependency](/reference/core-api/devkit/documents/DynamicDependency) +- [Executor](/reference/core-api/devkit/documents/Executor) +- [ExpandedPluginConfiguration](/reference/core-api/devkit/documents/ExpandedPluginConfiguration) +- [Generator](/reference/core-api/devkit/documents/Generator) +- [GeneratorCallback](/reference/core-api/devkit/documents/GeneratorCallback) +- [Hasher](/reference/core-api/devkit/documents/Hasher) +- [ImplicitDependency](/reference/core-api/devkit/documents/ImplicitDependency) +- [ImplicitDependencyEntry](/reference/core-api/devkit/documents/ImplicitDependencyEntry) +- [Migration](/reference/core-api/devkit/documents/Migration) +- [NxPlugin](/reference/core-api/devkit/documents/NxPlugin) +- [NxPluginV2](/reference/core-api/devkit/documents/NxPluginV2) +- [PackageManager](/reference/core-api/devkit/documents/PackageManager) +- [PluginConfiguration](/reference/core-api/devkit/documents/PluginConfiguration) +- [PostTasksExecution](/reference/core-api/devkit/documents/PostTasksExecution) +- [PostTasksExecutionContext](/reference/core-api/devkit/documents/PostTasksExecutionContext) +- [PreTasksExecution](/reference/core-api/devkit/documents/PreTasksExecution) +- [PreTasksExecutionContext](/reference/core-api/devkit/documents/PreTasksExecutionContext) +- [ProjectType](/reference/core-api/devkit/documents/ProjectType) +- [ProjectsMetadata](/reference/core-api/devkit/documents/ProjectsMetadata) +- [PromiseExecutor](/reference/core-api/devkit/documents/PromiseExecutor) +- [RawProjectGraphDependency](/reference/core-api/devkit/documents/RawProjectGraphDependency) +- [StaticDependency](/reference/core-api/devkit/documents/StaticDependency) +- [StringChange](/reference/core-api/devkit/documents/StringChange) +- [TargetDefaults](/reference/core-api/devkit/documents/TargetDefaults) +- [TaskGraphExecutor](/reference/core-api/devkit/documents/TaskGraphExecutor) +- [TaskResults](/reference/core-api/devkit/documents/TaskResults) +- [ToJSOptions](/reference/core-api/devkit/documents/ToJSOptions) +- [WorkspaceJsonConfiguration](/reference/core-api/devkit/documents/WorkspaceJsonConfiguration) ### Variables -- [NX_VERSION](../../devkit/documents/NX_VERSION): string -- [cacheDir](../../devkit/documents/cacheDir): string -- [logger](../../devkit/documents/logger): Object -- [output](../../devkit/documents/output): CLIOutput -- [workspaceRoot](../../devkit/documents/workspaceRoot): string +- [NX_VERSION](/reference/core-api/devkit/documents/NX_VERSION): string +- [cacheDir](/reference/core-api/devkit/documents/cacheDir): string +- [logger](/reference/core-api/devkit/documents/logger): Object +- [output](/reference/core-api/devkit/documents/output): CLIOutput +- [workspaceRoot](/reference/core-api/devkit/documents/workspaceRoot): string ### Functions -- [addDependenciesToPackageJson](../../devkit/documents/addDependenciesToPackageJson) -- [addProjectConfiguration](../../devkit/documents/addProjectConfiguration) -- [applyChangesToString](../../devkit/documents/applyChangesToString) -- [convertNxExecutor](../../devkit/documents/convertNxExecutor) -- [convertNxGenerator](../../devkit/documents/convertNxGenerator) -- [createNodesFromFiles](../../devkit/documents/createNodesFromFiles) -- [createProjectFileMapUsingProjectGraph](../../devkit/documents/createProjectFileMapUsingProjectGraph) -- [createProjectGraphAsync](../../devkit/documents/createProjectGraphAsync) -- [defaultTasksRunner](../../devkit/documents/defaultTasksRunner) -- [detectPackageManager](../../devkit/documents/detectPackageManager) -- [ensurePackage](../../devkit/documents/ensurePackage) -- [extractLayoutDirectory](../../devkit/documents/extractLayoutDirectory) -- [formatFiles](../../devkit/documents/formatFiles) -- [generateFiles](../../devkit/documents/generateFiles) -- [getOutputsForTargetAndConfiguration](../../devkit/documents/getOutputsForTargetAndConfiguration) -- [getPackageManagerCommand](../../devkit/documents/getPackageManagerCommand) -- [getPackageManagerVersion](../../devkit/documents/getPackageManagerVersion) -- [getProjects](../../devkit/documents/getProjects) -- [getWorkspaceLayout](../../devkit/documents/getWorkspaceLayout) -- [glob](../../devkit/documents/glob) -- [globAsync](../../devkit/documents/globAsync) -- [hashArray](../../devkit/documents/hashArray) -- [installPackagesTask](../../devkit/documents/installPackagesTask) -- [isDaemonEnabled](../../devkit/documents/isDaemonEnabled) -- [isWorkspacesEnabled](../../devkit/documents/isWorkspacesEnabled) -- [joinPathFragments](../../devkit/documents/joinPathFragments) -- [moveFilesToNewDirectory](../../devkit/documents/moveFilesToNewDirectory) -- [names](../../devkit/documents/names) -- [normalizePath](../../devkit/documents/normalizePath) -- [offsetFromRoot](../../devkit/documents/offsetFromRoot) -- [parseJson](../../devkit/documents/parseJson) -- [parseTargetString](../../devkit/documents/parseTargetString) -- [readCachedProjectGraph](../../devkit/documents/readCachedProjectGraph) -- [readJson](../../devkit/documents/readJson) -- [readJsonFile](../../devkit/documents/readJsonFile) -- [readNxJson](../../devkit/documents/readNxJson) -- [readProjectConfiguration](../../devkit/documents/readProjectConfiguration) -- [readProjectsConfigurationFromProjectGraph](../../devkit/documents/readProjectsConfigurationFromProjectGraph) -- [readTargetOptions](../../devkit/documents/readTargetOptions) -- [removeDependenciesFromPackageJson](../../devkit/documents/removeDependenciesFromPackageJson) -- [removeProjectConfiguration](../../devkit/documents/removeProjectConfiguration) -- [reverse](../../devkit/documents/reverse) -- [runExecutor](../../devkit/documents/runExecutor) -- [runTasksInSerial](../../devkit/documents/runTasksInSerial) -- [serializeJson](../../devkit/documents/serializeJson) -- [stripIndents](../../devkit/documents/stripIndents) -- [stripJsonComments](../../devkit/documents/stripJsonComments) -- [targetToTargetString](../../devkit/documents/targetToTargetString) -- [toJS](../../devkit/documents/toJS) -- [updateJson](../../devkit/documents/updateJson) -- [updateNxJson](../../devkit/documents/updateNxJson) -- [updateProjectConfiguration](../../devkit/documents/updateProjectConfiguration) -- [updateTsConfigsToJs](../../devkit/documents/updateTsConfigsToJs) -- [validateDependency](../../devkit/documents/validateDependency) -- [visitNotIgnoredFiles](../../devkit/documents/visitNotIgnoredFiles) -- [workspaceLayout](../../devkit/documents/workspaceLayout) -- [writeJson](../../devkit/documents/writeJson) -- [writeJsonFile](../../devkit/documents/writeJsonFile) +- [addDependenciesToPackageJson](/reference/core-api/devkit/documents/addDependenciesToPackageJson) +- [addProjectConfiguration](/reference/core-api/devkit/documents/addProjectConfiguration) +- [applyChangesToString](/reference/core-api/devkit/documents/applyChangesToString) +- [convertNxExecutor](/reference/core-api/devkit/documents/convertNxExecutor) +- [convertNxGenerator](/reference/core-api/devkit/documents/convertNxGenerator) +- [createNodesFromFiles](/reference/core-api/devkit/documents/createNodesFromFiles) +- [createProjectFileMapUsingProjectGraph](/reference/core-api/devkit/documents/createProjectFileMapUsingProjectGraph) +- [createProjectGraphAsync](/reference/core-api/devkit/documents/createProjectGraphAsync) +- [defaultTasksRunner](/reference/core-api/devkit/documents/defaultTasksRunner) +- [detectPackageManager](/reference/core-api/devkit/documents/detectPackageManager) +- [ensurePackage](/reference/core-api/devkit/documents/ensurePackage) +- [extractLayoutDirectory](/reference/core-api/devkit/documents/extractLayoutDirectory) +- [formatFiles](/reference/core-api/devkit/documents/formatFiles) +- [generateFiles](/reference/core-api/devkit/documents/generateFiles) +- [getOutputsForTargetAndConfiguration](/reference/core-api/devkit/documents/getOutputsForTargetAndConfiguration) +- [getPackageManagerCommand](/reference/core-api/devkit/documents/getPackageManagerCommand) +- [getPackageManagerVersion](/reference/core-api/devkit/documents/getPackageManagerVersion) +- [getProjects](/reference/core-api/devkit/documents/getProjects) +- [getWorkspaceLayout](/reference/core-api/devkit/documents/getWorkspaceLayout) +- [glob](/reference/core-api/devkit/documents/glob) +- [globAsync](/reference/core-api/devkit/documents/globAsync) +- [hashArray](/reference/core-api/devkit/documents/hashArray) +- [installPackagesTask](/reference/core-api/devkit/documents/installPackagesTask) +- [isDaemonEnabled](/reference/core-api/devkit/documents/isDaemonEnabled) +- [isWorkspacesEnabled](/reference/core-api/devkit/documents/isWorkspacesEnabled) +- [joinPathFragments](/reference/core-api/devkit/documents/joinPathFragments) +- [moveFilesToNewDirectory](/reference/core-api/devkit/documents/moveFilesToNewDirectory) +- [names](/reference/core-api/devkit/documents/names) +- [normalizePath](/reference/core-api/devkit/documents/normalizePath) +- [offsetFromRoot](/reference/core-api/devkit/documents/offsetFromRoot) +- [parseJson](/reference/core-api/devkit/documents/parseJson) +- [parseTargetString](/reference/core-api/devkit/documents/parseTargetString) +- [readCachedProjectGraph](/reference/core-api/devkit/documents/readCachedProjectGraph) +- [readJson](/reference/core-api/devkit/documents/readJson) +- [readJsonFile](/reference/core-api/devkit/documents/readJsonFile) +- [readNxJson](/reference/core-api/devkit/documents/readNxJson) +- [readProjectConfiguration](/reference/core-api/devkit/documents/readProjectConfiguration) +- [readProjectsConfigurationFromProjectGraph](/reference/core-api/devkit/documents/readProjectsConfigurationFromProjectGraph) +- [readTargetOptions](/reference/core-api/devkit/documents/readTargetOptions) +- [removeDependenciesFromPackageJson](/reference/core-api/devkit/documents/removeDependenciesFromPackageJson) +- [removeProjectConfiguration](/reference/core-api/devkit/documents/removeProjectConfiguration) +- [reverse](/reference/core-api/devkit/documents/reverse) +- [runExecutor](/reference/core-api/devkit/documents/runExecutor) +- [runTasksInSerial](/reference/core-api/devkit/documents/runTasksInSerial) +- [serializeJson](/reference/core-api/devkit/documents/serializeJson) +- [stripIndents](/reference/core-api/devkit/documents/stripIndents) +- [stripJsonComments](/reference/core-api/devkit/documents/stripJsonComments) +- [targetToTargetString](/reference/core-api/devkit/documents/targetToTargetString) +- [toJS](/reference/core-api/devkit/documents/toJS) +- [updateJson](/reference/core-api/devkit/documents/updateJson) +- [updateNxJson](/reference/core-api/devkit/documents/updateNxJson) +- [updateProjectConfiguration](/reference/core-api/devkit/documents/updateProjectConfiguration) +- [updateTsConfigsToJs](/reference/core-api/devkit/documents/updateTsConfigsToJs) +- [validateDependency](/reference/core-api/devkit/documents/validateDependency) +- [visitNotIgnoredFiles](/reference/core-api/devkit/documents/visitNotIgnoredFiles) +- [workspaceLayout](/reference/core-api/devkit/documents/workspaceLayout) +- [writeJson](/reference/core-api/devkit/documents/writeJson) +- [writeJsonFile](/reference/core-api/devkit/documents/writeJsonFile) diff --git a/docs/generated/devkit/RawProjectGraphDependency.md b/docs/generated/devkit/RawProjectGraphDependency.md index 8718ec4bf9..940b6e7e2b 100644 --- a/docs/generated/devkit/RawProjectGraphDependency.md +++ b/docs/generated/devkit/RawProjectGraphDependency.md @@ -1,7 +1,7 @@ # Type alias: RawProjectGraphDependency -Ƭ **RawProjectGraphDependency**: [`ImplicitDependency`](../../devkit/documents/ImplicitDependency) \| [`StaticDependency`](../../devkit/documents/StaticDependency) \| [`DynamicDependency`](../../devkit/documents/DynamicDependency) +Ƭ **RawProjectGraphDependency**: [`ImplicitDependency`](/reference/core-api/devkit/documents/ImplicitDependency) \| [`StaticDependency`](/reference/core-api/devkit/documents/StaticDependency) \| [`DynamicDependency`](/reference/core-api/devkit/documents/DynamicDependency) -A [ProjectGraph](../../devkit/documents/ProjectGraph) dependency between 2 projects +A [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) dependency between 2 projects -See [DynamicDependency](../../devkit/documents/DynamicDependency), [ImplicitDependency](../../devkit/documents/ImplicitDependency), or [StaticDependency](../../devkit/documents/StaticDependency) +See [DynamicDependency](/reference/core-api/devkit/documents/DynamicDependency), [ImplicitDependency](/reference/core-api/devkit/documents/ImplicitDependency), or [StaticDependency](/reference/core-api/devkit/documents/StaticDependency) diff --git a/docs/generated/devkit/RemoteCache.md b/docs/generated/devkit/RemoteCache.md index 3ee0b31d11..bb34e57466 100644 --- a/docs/generated/devkit/RemoteCache.md +++ b/docs/generated/devkit/RemoteCache.md @@ -4,8 +4,8 @@ ### Properties -- [retrieve](../../devkit/documents/RemoteCache#retrieve): Function -- [store](../../devkit/documents/RemoteCache#store): Function +- [retrieve](/reference/core-api/devkit/documents/RemoteCache#retrieve): Function +- [store](/reference/core-api/devkit/documents/RemoteCache#store): Function ## Properties diff --git a/docs/generated/devkit/StaleProjectGraphCacheError.md b/docs/generated/devkit/StaleProjectGraphCacheError.md index 6fa253253d..7b599851f1 100644 --- a/docs/generated/devkit/StaleProjectGraphCacheError.md +++ b/docs/generated/devkit/StaleProjectGraphCacheError.md @@ -10,30 +10,30 @@ ### Constructors -- [constructor](../../devkit/documents/StaleProjectGraphCacheError#constructor) +- [constructor](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#constructor) ### Properties -- [cause](../../devkit/documents/StaleProjectGraphCacheError#cause): unknown -- [message](../../devkit/documents/StaleProjectGraphCacheError#message): string -- [name](../../devkit/documents/StaleProjectGraphCacheError#name): string -- [stack](../../devkit/documents/StaleProjectGraphCacheError#stack): string -- [prepareStackTrace](../../devkit/documents/StaleProjectGraphCacheError#preparestacktrace): Function -- [stackTraceLimit](../../devkit/documents/StaleProjectGraphCacheError#stacktracelimit): number +- [cause](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#cause): unknown +- [message](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#message): string +- [name](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#name): string +- [stack](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#stack): string +- [prepareStackTrace](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#preparestacktrace): Function +- [stackTraceLimit](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#stacktracelimit): number ### Methods -- [captureStackTrace](../../devkit/documents/StaleProjectGraphCacheError#capturestacktrace) +- [captureStackTrace](/reference/core-api/devkit/documents/StaleProjectGraphCacheError#capturestacktrace) ## Constructors ### constructor -• **new StaleProjectGraphCacheError**(): [`StaleProjectGraphCacheError`](../../devkit/documents/StaleProjectGraphCacheError) +• **new StaleProjectGraphCacheError**(): [`StaleProjectGraphCacheError`](/reference/core-api/devkit/documents/StaleProjectGraphCacheError) #### Returns -[`StaleProjectGraphCacheError`](../../devkit/documents/StaleProjectGraphCacheError) +[`StaleProjectGraphCacheError`](/reference/core-api/devkit/documents/StaleProjectGraphCacheError) #### Overrides diff --git a/docs/generated/devkit/StaticDependency.md b/docs/generated/devkit/StaticDependency.md index e3216d0c66..36fc1f9b5b 100644 --- a/docs/generated/devkit/StaticDependency.md +++ b/docs/generated/devkit/StaticDependency.md @@ -2,17 +2,17 @@ Ƭ **StaticDependency**: `Object` -A static [ProjectGraph](../../devkit/documents/ProjectGraph) dependency between 2 projects +A static [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) dependency between 2 projects This type of dependency indicates the source project ALWAYS load the target project. -NOTE: StaticDependency#sourceFile MUST be present unless the source is the name of a [ProjectGraphExternalNode](../../devkit/documents/ProjectGraphExternalNode) +NOTE: StaticDependency#sourceFile MUST be present unless the source is the name of a [ProjectGraphExternalNode](/reference/core-api/devkit/documents/ProjectGraphExternalNode) #### Type declaration -| Name | Type | Description | -| :------------ | :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `source` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) or [ProjectGraphExternalNode](../../devkit/documents/ProjectGraphExternalNode) depending on the target project | -| `sourceFile?` | `string` | The path of a file (relative from the workspace root) where the dependency is made | -| `target` | `string` | The name of a [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) or [ProjectGraphExternalNode](../../devkit/documents/ProjectGraphExternalNode) that the source project depends on | -| `type` | typeof [`static`](../../devkit/documents/DependencyType#static) | - | +| Name | Type | Description | +| :------------ | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `source` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) or [ProjectGraphExternalNode](/reference/core-api/devkit/documents/ProjectGraphExternalNode) depending on the target project | +| `sourceFile?` | `string` | The path of a file (relative from the workspace root) where the dependency is made | +| `target` | `string` | The name of a [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) or [ProjectGraphExternalNode](/reference/core-api/devkit/documents/ProjectGraphExternalNode) that the source project depends on | +| `type` | typeof [`static`](/reference/core-api/devkit/documents/DependencyType#static) | - | diff --git a/docs/generated/devkit/StringChange.md b/docs/generated/devkit/StringChange.md index 06f9944a02..73f4f813d0 100644 --- a/docs/generated/devkit/StringChange.md +++ b/docs/generated/devkit/StringChange.md @@ -1,5 +1,5 @@ # Type alias: StringChange -Ƭ **StringChange**: [`StringInsertion`](../../devkit/documents/StringInsertion) \| [`StringDeletion`](../../devkit/documents/StringDeletion) +Ƭ **StringChange**: [`StringInsertion`](/reference/core-api/devkit/documents/StringInsertion) \| [`StringDeletion`](/reference/core-api/devkit/documents/StringDeletion) A change to be made to a string diff --git a/docs/generated/devkit/StringDeletion.md b/docs/generated/devkit/StringDeletion.md index 47d40f5446..b5ab54e69a 100644 --- a/docs/generated/devkit/StringDeletion.md +++ b/docs/generated/devkit/StringDeletion.md @@ -4,9 +4,9 @@ ### Properties -- [length](../../devkit/documents/StringDeletion#length): number -- [start](../../devkit/documents/StringDeletion#start): number -- [type](../../devkit/documents/StringDeletion#type): Delete +- [length](/reference/core-api/devkit/documents/StringDeletion#length): number +- [start](/reference/core-api/devkit/documents/StringDeletion#start): number +- [type](/reference/core-api/devkit/documents/StringDeletion#type): Delete ## Properties @@ -28,4 +28,4 @@ Place in the original text to start deleting characters ### type -• **type**: [`Delete`](../../devkit/documents/ChangeType#delete) +• **type**: [`Delete`](/reference/core-api/devkit/documents/ChangeType#delete) diff --git a/docs/generated/devkit/StringInsertion.md b/docs/generated/devkit/StringInsertion.md index aa07d64e7e..32d69df56c 100644 --- a/docs/generated/devkit/StringInsertion.md +++ b/docs/generated/devkit/StringInsertion.md @@ -4,9 +4,9 @@ ### Properties -- [index](../../devkit/documents/StringInsertion#index): number -- [text](../../devkit/documents/StringInsertion#text): string -- [type](../../devkit/documents/StringInsertion#type): Insert +- [index](/reference/core-api/devkit/documents/StringInsertion#index): number +- [text](/reference/core-api/devkit/documents/StringInsertion#text): string +- [type](/reference/core-api/devkit/documents/StringInsertion#type): Insert ## Properties @@ -28,4 +28,4 @@ Text to insert into the original text ### type -• **type**: [`Insert`](../../devkit/documents/ChangeType#insert) +• **type**: [`Insert`](/reference/core-api/devkit/documents/ChangeType#insert) diff --git a/docs/generated/devkit/Target.md b/docs/generated/devkit/Target.md index 44f89f5936..ae801a85b5 100644 --- a/docs/generated/devkit/Target.md +++ b/docs/generated/devkit/Target.md @@ -4,9 +4,9 @@ ### Properties -- [configuration](../../devkit/documents/Target#configuration): string -- [project](../../devkit/documents/Target#project): string -- [target](../../devkit/documents/Target#target): string +- [configuration](/reference/core-api/devkit/documents/Target#configuration): string +- [project](/reference/core-api/devkit/documents/Target#project): string +- [target](/reference/core-api/devkit/documents/Target#target): string ## Properties diff --git a/docs/generated/devkit/TargetConfiguration.md b/docs/generated/devkit/TargetConfiguration.md index 1760db6290..36991921b2 100644 --- a/docs/generated/devkit/TargetConfiguration.md +++ b/docs/generated/devkit/TargetConfiguration.md @@ -12,19 +12,19 @@ Target's configuration ### Properties -- [cache](../../devkit/documents/TargetConfiguration#cache): boolean -- [command](../../devkit/documents/TargetConfiguration#command): string -- [configurations](../../devkit/documents/TargetConfiguration#configurations): Object -- [continuous](../../devkit/documents/TargetConfiguration#continuous): boolean -- [defaultConfiguration](../../devkit/documents/TargetConfiguration#defaultconfiguration): string -- [dependsOn](../../devkit/documents/TargetConfiguration#dependson): (string | TargetDependencyConfig)[] -- [executor](../../devkit/documents/TargetConfiguration#executor): string -- [inputs](../../devkit/documents/TargetConfiguration#inputs): (string | InputDefinition)[] -- [metadata](../../devkit/documents/TargetConfiguration#metadata): TargetMetadata -- [options](../../devkit/documents/TargetConfiguration#options): T -- [outputs](../../devkit/documents/TargetConfiguration#outputs): string[] -- [parallelism](../../devkit/documents/TargetConfiguration#parallelism): boolean -- [syncGenerators](../../devkit/documents/TargetConfiguration#syncgenerators): string[] +- [cache](/reference/core-api/devkit/documents/TargetConfiguration#cache): boolean +- [command](/reference/core-api/devkit/documents/TargetConfiguration#command): string +- [configurations](/reference/core-api/devkit/documents/TargetConfiguration#configurations): Object +- [continuous](/reference/core-api/devkit/documents/TargetConfiguration#continuous): boolean +- [defaultConfiguration](/reference/core-api/devkit/documents/TargetConfiguration#defaultconfiguration): string +- [dependsOn](/reference/core-api/devkit/documents/TargetConfiguration#dependson): (string | TargetDependencyConfig)[] +- [executor](/reference/core-api/devkit/documents/TargetConfiguration#executor): string +- [inputs](/reference/core-api/devkit/documents/TargetConfiguration#inputs): (string | InputDefinition)[] +- [metadata](/reference/core-api/devkit/documents/TargetConfiguration#metadata): TargetMetadata +- [options](/reference/core-api/devkit/documents/TargetConfiguration#options): T +- [outputs](/reference/core-api/devkit/documents/TargetConfiguration#outputs): string[] +- [parallelism](/reference/core-api/devkit/documents/TargetConfiguration#parallelism): boolean +- [syncGenerators](/reference/core-api/devkit/documents/TargetConfiguration#syncgenerators): string[] ## Properties @@ -74,7 +74,7 @@ A default named configuration to use when a target configuration is not provided ### dependsOn -• `Optional` **dependsOn**: (`string` \| [`TargetDependencyConfig`](../../devkit/documents/TargetDependencyConfig))[] +• `Optional` **dependsOn**: (`string` \| [`TargetDependencyConfig`](/reference/core-api/devkit/documents/TargetDependencyConfig))[] This describes other targets that a target depends on. diff --git a/docs/generated/devkit/TargetDefaults.md b/docs/generated/devkit/TargetDefaults.md index 240b0e712c..24fa04dccd 100644 --- a/docs/generated/devkit/TargetDefaults.md +++ b/docs/generated/devkit/TargetDefaults.md @@ -1,3 +1,3 @@ # Type alias: TargetDefaults -Ƭ **TargetDefaults**: `Record`\<`string`, `Partial`\<[`TargetConfiguration`](../../devkit/documents/TargetConfiguration)\>\> +Ƭ **TargetDefaults**: `Record`\<`string`, `Partial`\<[`TargetConfiguration`](/reference/core-api/devkit/documents/TargetConfiguration)\>\> diff --git a/docs/generated/devkit/TargetDependencyConfig.md b/docs/generated/devkit/TargetDependencyConfig.md index c8793560f3..cd53bca3be 100644 --- a/docs/generated/devkit/TargetDependencyConfig.md +++ b/docs/generated/devkit/TargetDependencyConfig.md @@ -4,10 +4,10 @@ ### Properties -- [dependencies](../../devkit/documents/TargetDependencyConfig#dependencies): boolean -- [params](../../devkit/documents/TargetDependencyConfig#params): "ignore" | "forward" -- [projects](../../devkit/documents/TargetDependencyConfig#projects): string | string[] -- [target](../../devkit/documents/TargetDependencyConfig#target): string +- [dependencies](/reference/core-api/devkit/documents/TargetDependencyConfig#dependencies): boolean +- [params](/reference/core-api/devkit/documents/TargetDependencyConfig#params): "ignore" | "forward" +- [projects](/reference/core-api/devkit/documents/TargetDependencyConfig#projects): string | string[] +- [target](/reference/core-api/devkit/documents/TargetDependencyConfig#target): string ## Properties diff --git a/docs/generated/devkit/Task.md b/docs/generated/devkit/Task.md index 78fa965f41..5309de5c4c 100644 --- a/docs/generated/devkit/Task.md +++ b/docs/generated/devkit/Task.md @@ -6,18 +6,18 @@ A representation of the invocation of an Executor ### Properties -- [cache](../../devkit/documents/Task#cache): boolean -- [continuous](../../devkit/documents/Task#continuous): boolean -- [endTime](../../devkit/documents/Task#endtime): number -- [hash](../../devkit/documents/Task#hash): string -- [hashDetails](../../devkit/documents/Task#hashdetails): Object -- [id](../../devkit/documents/Task#id): string -- [outputs](../../devkit/documents/Task#outputs): string[] -- [overrides](../../devkit/documents/Task#overrides): any -- [parallelism](../../devkit/documents/Task#parallelism): boolean -- [projectRoot](../../devkit/documents/Task#projectroot): string -- [startTime](../../devkit/documents/Task#starttime): number -- [target](../../devkit/documents/Task#target): Object +- [cache](/reference/core-api/devkit/documents/Task#cache): boolean +- [continuous](/reference/core-api/devkit/documents/Task#continuous): boolean +- [endTime](/reference/core-api/devkit/documents/Task#endtime): number +- [hash](/reference/core-api/devkit/documents/Task#hash): string +- [hashDetails](/reference/core-api/devkit/documents/Task#hashdetails): Object +- [id](/reference/core-api/devkit/documents/Task#id): string +- [outputs](/reference/core-api/devkit/documents/Task#outputs): string[] +- [overrides](/reference/core-api/devkit/documents/Task#overrides): any +- [parallelism](/reference/core-api/devkit/documents/Task#parallelism): boolean +- [projectRoot](/reference/core-api/devkit/documents/Task#projectroot): string +- [startTime](/reference/core-api/devkit/documents/Task#starttime): number +- [target](/reference/core-api/devkit/documents/Task#target): Object ## Properties diff --git a/docs/generated/devkit/TaskGraph.md b/docs/generated/devkit/TaskGraph.md index 3a40554e16..28c6475efa 100644 --- a/docs/generated/devkit/TaskGraph.md +++ b/docs/generated/devkit/TaskGraph.md @@ -6,10 +6,10 @@ Graph of Tasks to be executed ### Properties -- [continuousDependencies](../../devkit/documents/TaskGraph#continuousdependencies): Record -- [dependencies](../../devkit/documents/TaskGraph#dependencies): Record -- [roots](../../devkit/documents/TaskGraph#roots): string[] -- [tasks](../../devkit/documents/TaskGraph#tasks): Record +- [continuousDependencies](/reference/core-api/devkit/documents/TaskGraph#continuousdependencies): Record +- [dependencies](/reference/core-api/devkit/documents/TaskGraph#dependencies): Record +- [roots](/reference/core-api/devkit/documents/TaskGraph#roots): string[] +- [tasks](/reference/core-api/devkit/documents/TaskGraph#tasks): Record ## Properties @@ -37,6 +37,6 @@ IDs of Tasks which do not have any dependencies and are thus ready to execute im ### tasks -• **tasks**: `Record`\<`string`, [`Task`](../../devkit/documents/Task)\> +• **tasks**: `Record`\<`string`, [`Task`](/reference/core-api/devkit/documents/Task)\> Map of Task IDs to Tasks diff --git a/docs/generated/devkit/TaskGraphExecutor.md b/docs/generated/devkit/TaskGraphExecutor.md index 30ddccaef8..5008e44df2 100644 --- a/docs/generated/devkit/TaskGraphExecutor.md +++ b/docs/generated/devkit/TaskGraphExecutor.md @@ -1,6 +1,6 @@ # Type alias: TaskGraphExecutor\ -Ƭ **TaskGraphExecutor**\<`T`\>: (`taskGraph`: [`TaskGraph`](../../devkit/documents/TaskGraph), `options`: `Record`\<`string`, `T`\>, `overrides`: `T`, `context`: [`ExecutorContext`](../../devkit/documents/ExecutorContext)) => `Promise`\<`BatchExecutorResult` \| `AsyncIterableIterator`\<`BatchExecutorTaskResult`\>\> +Ƭ **TaskGraphExecutor**\<`T`\>: (`taskGraph`: [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph), `options`: `Record`\<`string`, `T`\>, `overrides`: `T`, `context`: [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext)) => `Promise`\<`BatchExecutorResult` \| `AsyncIterableIterator`\<`BatchExecutorTaskResult`\>\> Implementation of a target of a project that handles multiple projects to be batched @@ -16,12 +16,12 @@ Implementation of a target of a project that handles multiple projects to be bat ##### Parameters -| Name | Type | -| :---------- | :---------------------------------------------------------- | -| `taskGraph` | [`TaskGraph`](../../devkit/documents/TaskGraph) | -| `options` | `Record`\<`string`, `T`\> | -| `overrides` | `T` | -| `context` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :---------- | :------------------------------------------------------------------------ | +| `taskGraph` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | +| `options` | `Record`\<`string`, `T`\> | +| `overrides` | `T` | +| `context` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | ##### Returns diff --git a/docs/generated/devkit/TaskHasher.md b/docs/generated/devkit/TaskHasher.md index 11b8324afa..79bdd22de2 100644 --- a/docs/generated/devkit/TaskHasher.md +++ b/docs/generated/devkit/TaskHasher.md @@ -4,107 +4,107 @@ ### Methods -- [hashTask](../../devkit/documents/TaskHasher#hashtask) -- [hashTasks](../../devkit/documents/TaskHasher#hashtasks) +- [hashTask](/reference/core-api/devkit/documents/TaskHasher#hashtask) +- [hashTasks](/reference/core-api/devkit/documents/TaskHasher#hashtasks) ## Methods ### hashTask -▸ **hashTask**(`task`): `Promise`\<[`Hash`](../../devkit/documents/Hash)\> +▸ **hashTask**(`task`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> #### Parameters -| Name | Type | -| :----- | :------------------------------------ | -| `task` | [`Task`](../../devkit/documents/Task) | +| Name | Type | +| :----- | :-------------------------------------------------- | +| `task` | [`Task`](/reference/core-api/devkit/documents/Task) | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> **`Deprecated`** use hashTask(task:Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20 -▸ **hashTask**(`task`, `taskGraph`): `Promise`\<[`Hash`](../../devkit/documents/Hash)\> +▸ **hashTask**(`task`, `taskGraph`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> #### Parameters -| Name | Type | -| :---------- | :---------------------------------------------- | -| `task` | [`Task`](../../devkit/documents/Task) | -| `taskGraph` | [`TaskGraph`](../../devkit/documents/TaskGraph) | +| Name | Type | +| :---------- | :------------------------------------------------------------ | +| `task` | [`Task`](/reference/core-api/devkit/documents/Task) | +| `taskGraph` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> **`Deprecated`** use hashTask(task:Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20 -▸ **hashTask**(`task`, `taskGraph`, `env`): `Promise`\<[`Hash`](../../devkit/documents/Hash)\> +▸ **hashTask**(`task`, `taskGraph`, `env`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> #### Parameters -| Name | Type | -| :---------- | :---------------------------------------------- | -| `task` | [`Task`](../../devkit/documents/Task) | -| `taskGraph` | [`TaskGraph`](../../devkit/documents/TaskGraph) | -| `env` | `ProcessEnv` | +| Name | Type | +| :---------- | :------------------------------------------------------------ | +| `task` | [`Task`](/reference/core-api/devkit/documents/Task) | +| `taskGraph` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | +| `env` | `ProcessEnv` | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)\> --- ### hashTasks -▸ **hashTasks**(`tasks`): `Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +▸ **hashTasks**(`tasks`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> #### Parameters -| Name | Type | -| :------ | :-------------------------------------- | -| `tasks` | [`Task`](../../devkit/documents/Task)[] | +| Name | Type | +| :------ | :---------------------------------------------------- | +| `tasks` | [`Task`](/reference/core-api/devkit/documents/Task)[] | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> **`Deprecated`** use hashTasks(tasks:Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20 -▸ **hashTasks**(`tasks`, `taskGraph`): `Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +▸ **hashTasks**(`tasks`, `taskGraph`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> #### Parameters -| Name | Type | -| :---------- | :---------------------------------------------- | -| `tasks` | [`Task`](../../devkit/documents/Task)[] | -| `taskGraph` | [`TaskGraph`](../../devkit/documents/TaskGraph) | +| Name | Type | +| :---------- | :------------------------------------------------------------ | +| `tasks` | [`Task`](/reference/core-api/devkit/documents/Task)[] | +| `taskGraph` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> **`Deprecated`** use hashTasks(tasks:Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20 -▸ **hashTasks**(`tasks`, `taskGraph`, `env`): `Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +▸ **hashTasks**(`tasks`, `taskGraph`, `env`): `Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> #### Parameters -| Name | Type | -| :---------- | :---------------------------------------------- | -| `tasks` | [`Task`](../../devkit/documents/Task)[] | -| `taskGraph` | [`TaskGraph`](../../devkit/documents/TaskGraph) | -| `env` | `ProcessEnv` | +| Name | Type | +| :---------- | :------------------------------------------------------------ | +| `tasks` | [`Task`](/reference/core-api/devkit/documents/Task)[] | +| `taskGraph` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | +| `env` | `ProcessEnv` | #### Returns -`Promise`\<[`Hash`](../../devkit/documents/Hash)[]\> +`Promise`\<[`Hash`](/reference/core-api/devkit/documents/Hash)[]\> diff --git a/docs/generated/devkit/TaskResult.md b/docs/generated/devkit/TaskResult.md index 0e05e4e8c0..ac69025ebb 100644 --- a/docs/generated/devkit/TaskResult.md +++ b/docs/generated/devkit/TaskResult.md @@ -1,15 +1,15 @@ # Interface: TaskResult -The result of a completed [Task](../../devkit/documents/Task) +The result of a completed [Task](/reference/core-api/devkit/documents/Task) ## Table of contents ### Properties -- [code](../../devkit/documents/TaskResult#code): number -- [status](../../devkit/documents/TaskResult#status): TaskStatus -- [task](../../devkit/documents/TaskResult#task): Task -- [terminalOutput](../../devkit/documents/TaskResult#terminaloutput): string +- [code](/reference/core-api/devkit/documents/TaskResult#code): number +- [status](/reference/core-api/devkit/documents/TaskResult#status): TaskStatus +- [task](/reference/core-api/devkit/documents/TaskResult#task): Task +- [terminalOutput](/reference/core-api/devkit/documents/TaskResult#terminaloutput): string ## Properties @@ -27,7 +27,7 @@ The result of a completed [Task](../../devkit/documents/Task) ### task -• **task**: [`Task`](../../devkit/documents/Task) +• **task**: [`Task`](/reference/core-api/devkit/documents/Task) --- diff --git a/docs/generated/devkit/TaskResults.md b/docs/generated/devkit/TaskResults.md index 21c6fb2268..7a86a8a6fa 100644 --- a/docs/generated/devkit/TaskResults.md +++ b/docs/generated/devkit/TaskResults.md @@ -1,5 +1,5 @@ # Type alias: TaskResults -Ƭ **TaskResults**: `Record`\<`string`, [`TaskResult`](../../devkit/documents/TaskResult)\> +Ƭ **TaskResults**: `Record`\<`string`, [`TaskResult`](/reference/core-api/devkit/documents/TaskResult)\> -A map of [TaskResult](../../devkit/documents/TaskResult) keyed by the ID of the completed [Task](../../devkit/documents/Task)s +A map of [TaskResult](/reference/core-api/devkit/documents/TaskResult) keyed by the ID of the completed [Task](/reference/core-api/devkit/documents/Task)s diff --git a/docs/generated/devkit/Tree.md b/docs/generated/devkit/Tree.md index db82ddc830..d4acb8acf5 100644 --- a/docs/generated/devkit/Tree.md +++ b/docs/generated/devkit/Tree.md @@ -6,19 +6,19 @@ Virtual file system tree. ### Properties -- [root](../../devkit/documents/Tree#root): string +- [root](/reference/core-api/devkit/documents/Tree#root): string ### Methods -- [changePermissions](../../devkit/documents/Tree#changepermissions) -- [children](../../devkit/documents/Tree#children) -- [delete](../../devkit/documents/Tree#delete) -- [exists](../../devkit/documents/Tree#exists) -- [isFile](../../devkit/documents/Tree#isfile) -- [listChanges](../../devkit/documents/Tree#listchanges) -- [read](../../devkit/documents/Tree#read) -- [rename](../../devkit/documents/Tree#rename) -- [write](../../devkit/documents/Tree#write) +- [changePermissions](/reference/core-api/devkit/documents/Tree#changepermissions) +- [children](/reference/core-api/devkit/documents/Tree#children) +- [delete](/reference/core-api/devkit/documents/Tree#delete) +- [exists](/reference/core-api/devkit/documents/Tree#exists) +- [isFile](/reference/core-api/devkit/documents/Tree#isfile) +- [listChanges](/reference/core-api/devkit/documents/Tree#listchanges) +- [read](/reference/core-api/devkit/documents/Tree#read) +- [rename](/reference/core-api/devkit/documents/Tree#rename) +- [write](/reference/core-api/devkit/documents/Tree#write) ## Properties @@ -123,13 +123,13 @@ Check if this is a file or not. ### listChanges -▸ **listChanges**(): [`FileChange`](../../devkit/documents/FileChange)[] +▸ **listChanges**(): [`FileChange`](/reference/core-api/devkit/documents/FileChange)[] Returns the list of currently recorded changes. #### Returns -[`FileChange`](../../devkit/documents/FileChange)[] +[`FileChange`](/reference/core-api/devkit/documents/FileChange)[] --- diff --git a/docs/generated/devkit/Workspace.md b/docs/generated/devkit/Workspace.md index 75ab29b306..6112dd647f 100644 --- a/docs/generated/devkit/Workspace.md +++ b/docs/generated/devkit/Workspace.md @@ -6,9 +6,9 @@ use ProjectsConfigurations or NxJsonConfiguration ## Hierarchy -- [`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +- [`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) -- [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) +- [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) ↳ **`Workspace`** @@ -16,36 +16,36 @@ use ProjectsConfigurations or NxJsonConfiguration ### Properties -- [$schema](../../devkit/documents/Workspace#$schema): string -- [affected](../../devkit/documents/Workspace#affected): NxAffectedConfig -- [cacheDirectory](../../devkit/documents/Workspace#cachedirectory): string -- [cli](../../devkit/documents/Workspace#cli): Object -- [defaultBase](../../devkit/documents/Workspace#defaultbase): string -- [defaultProject](../../devkit/documents/Workspace#defaultproject): string -- [extends](../../devkit/documents/Workspace#extends): string -- [generators](../../devkit/documents/Workspace#generators): Object -- [implicitDependencies](../../devkit/documents/Workspace#implicitdependencies): ImplicitDependencyEntry -- [installation](../../devkit/documents/Workspace#installation): NxInstallationConfiguration -- [maxCacheSize](../../devkit/documents/Workspace#maxcachesize): string -- [namedInputs](../../devkit/documents/Workspace#namedinputs): Object -- [neverConnectToCloud](../../devkit/documents/Workspace#neverconnecttocloud): boolean -- [nxCloudAccessToken](../../devkit/documents/Workspace#nxcloudaccesstoken): string -- [nxCloudEncryptionKey](../../devkit/documents/Workspace#nxcloudencryptionkey): string -- [nxCloudId](../../devkit/documents/Workspace#nxcloudid): string -- [nxCloudUrl](../../devkit/documents/Workspace#nxcloudurl): string -- [parallel](../../devkit/documents/Workspace#parallel): number -- [plugins](../../devkit/documents/Workspace#plugins): PluginConfiguration[] -- [pluginsConfig](../../devkit/documents/Workspace#pluginsconfig): Record> -- [projects](../../devkit/documents/Workspace#projects): Record -- [release](../../devkit/documents/Workspace#release): NxReleaseConfiguration -- [sync](../../devkit/documents/Workspace#sync): NxSyncConfiguration -- [targetDefaults](../../devkit/documents/Workspace#targetdefaults): TargetDefaults -- [tasksRunnerOptions](../../devkit/documents/Workspace#tasksrunneroptions): Object -- [tui](../../devkit/documents/Workspace#tui): Object -- [useDaemonProcess](../../devkit/documents/Workspace#usedaemonprocess): boolean -- [useInferencePlugins](../../devkit/documents/Workspace#useinferenceplugins): boolean -- [version](../../devkit/documents/Workspace#version): number -- [workspaceLayout](../../devkit/documents/Workspace#workspacelayout): Object +- [$schema](/reference/core-api/devkit/documents/Workspace#$schema): string +- [affected](/reference/core-api/devkit/documents/Workspace#affected): NxAffectedConfig +- [cacheDirectory](/reference/core-api/devkit/documents/Workspace#cachedirectory): string +- [cli](/reference/core-api/devkit/documents/Workspace#cli): Object +- [defaultBase](/reference/core-api/devkit/documents/Workspace#defaultbase): string +- [defaultProject](/reference/core-api/devkit/documents/Workspace#defaultproject): string +- [extends](/reference/core-api/devkit/documents/Workspace#extends): string +- [generators](/reference/core-api/devkit/documents/Workspace#generators): Object +- [implicitDependencies](/reference/core-api/devkit/documents/Workspace#implicitdependencies): ImplicitDependencyEntry +- [installation](/reference/core-api/devkit/documents/Workspace#installation): NxInstallationConfiguration +- [maxCacheSize](/reference/core-api/devkit/documents/Workspace#maxcachesize): string +- [namedInputs](/reference/core-api/devkit/documents/Workspace#namedinputs): Object +- [neverConnectToCloud](/reference/core-api/devkit/documents/Workspace#neverconnecttocloud): boolean +- [nxCloudAccessToken](/reference/core-api/devkit/documents/Workspace#nxcloudaccesstoken): string +- [nxCloudEncryptionKey](/reference/core-api/devkit/documents/Workspace#nxcloudencryptionkey): string +- [nxCloudId](/reference/core-api/devkit/documents/Workspace#nxcloudid): string +- [nxCloudUrl](/reference/core-api/devkit/documents/Workspace#nxcloudurl): string +- [parallel](/reference/core-api/devkit/documents/Workspace#parallel): number +- [plugins](/reference/core-api/devkit/documents/Workspace#plugins): PluginConfiguration[] +- [pluginsConfig](/reference/core-api/devkit/documents/Workspace#pluginsconfig): Record> +- [projects](/reference/core-api/devkit/documents/Workspace#projects): Record +- [release](/reference/core-api/devkit/documents/Workspace#release): NxReleaseConfiguration +- [sync](/reference/core-api/devkit/documents/Workspace#sync): NxSyncConfiguration +- [targetDefaults](/reference/core-api/devkit/documents/Workspace#targetdefaults): TargetDefaults +- [tasksRunnerOptions](/reference/core-api/devkit/documents/Workspace#tasksrunneroptions): Object +- [tui](/reference/core-api/devkit/documents/Workspace#tui): Object +- [useDaemonProcess](/reference/core-api/devkit/documents/Workspace#usedaemonprocess): boolean +- [useInferencePlugins](/reference/core-api/devkit/documents/Workspace#useinferenceplugins): boolean +- [version](/reference/core-api/devkit/documents/Workspace#version): number +- [workspaceLayout](/reference/core-api/devkit/documents/Workspace#workspacelayout): Object ## Properties @@ -55,23 +55,23 @@ use ProjectsConfigurations or NxJsonConfiguration #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[$schema](../../devkit/documents/NxJsonConfiguration#$schema) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[$schema](/reference/core-api/devkit/documents/NxJsonConfiguration#$schema) --- ### affected -• `Optional` **affected**: [`NxAffectedConfig`](../../devkit/documents/NxAffectedConfig) +• `Optional` **affected**: [`NxAffectedConfig`](/reference/core-api/devkit/documents/NxAffectedConfig) Default options for `nx affected` **`Deprecated`** -use [defaultBase](../../devkit/documents/NxJsonConfiguration#defaultbase) instead. For more information see https://nx.dev/deprecated/affected-config#affected-config +use [defaultBase](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultbase) instead. For more information see https://nx.dev/deprecated/affected-config#affected-config #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[affected](../../devkit/documents/NxJsonConfiguration#affected) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[affected](/reference/core-api/devkit/documents/NxJsonConfiguration#affected) --- @@ -83,7 +83,7 @@ Changes the directory used by Nx to store its cache. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[cacheDirectory](../../devkit/documents/NxJsonConfiguration#cachedirectory) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[cacheDirectory](/reference/core-api/devkit/documents/NxJsonConfiguration#cachedirectory) --- @@ -95,14 +95,14 @@ Default generator collection. It is used when no collection is provided. #### Type declaration -| Name | Type | -| :-------------------- | :-------------------------------------------------------- | -| `defaultProjectName?` | `string` | -| `packageManager?` | [`PackageManager`](../../devkit/documents/PackageManager) | +| Name | Type | +| :-------------------- | :---------------------------------------------------------------------- | +| `defaultProjectName?` | `string` | +| `packageManager?` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[cli](../../devkit/documents/NxJsonConfiguration#cli) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[cli](/reference/core-api/devkit/documents/NxJsonConfiguration#cli) --- @@ -114,7 +114,7 @@ Default value for --base used by `nx affected` and `nx format`. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[defaultBase](../../devkit/documents/NxJsonConfiguration#defaultbase) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[defaultBase](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultbase) --- @@ -127,7 +127,7 @@ will be used. Convenient for small workspaces with one main application. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[defaultProject](../../devkit/documents/NxJsonConfiguration#defaultproject) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[defaultProject](/reference/core-api/devkit/documents/NxJsonConfiguration#defaultproject) --- @@ -139,7 +139,7 @@ Optional (additional) Nx.json configuration file which becomes a base for this o #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[extends](../../devkit/documents/NxJsonConfiguration#extends) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[extends](/reference/core-api/devkit/documents/NxJsonConfiguration#extends) --- @@ -169,23 +169,23 @@ Example: #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[generators](../../devkit/documents/NxJsonConfiguration#generators) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[generators](/reference/core-api/devkit/documents/NxJsonConfiguration#generators) --- ### implicitDependencies -• `Optional` **implicitDependencies**: [`ImplicitDependencyEntry`](../../devkit/documents/ImplicitDependencyEntry)\<`string`[] \| `"*"`\> +• `Optional` **implicitDependencies**: [`ImplicitDependencyEntry`](/reference/core-api/devkit/documents/ImplicitDependencyEntry)\<`string`[] \| `"*"`\> Map of files to projects that implicitly depend on them **`Deprecated`** -use [namedInputs](../../devkit/documents/NxJsonConfiguration#namedinputs) instead. For more information see https://nx.dev/deprecated/global-implicit-dependencies#global-implicit-dependencies +use [namedInputs](/reference/core-api/devkit/documents/NxJsonConfiguration#namedinputs) instead. For more information see https://nx.dev/deprecated/global-implicit-dependencies#global-implicit-dependencies #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[implicitDependencies](../../devkit/documents/NxJsonConfiguration#implicitdependencies) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[implicitDependencies](/reference/core-api/devkit/documents/NxJsonConfiguration#implicitdependencies) --- @@ -199,7 +199,7 @@ useful for workspaces that don't have a root package.json + node_modules. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[installation](../../devkit/documents/NxJsonConfiguration#installation) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[installation](/reference/core-api/devkit/documents/NxJsonConfiguration#installation) --- @@ -211,7 +211,7 @@ Sets the maximum size of the local cache. Accepts a number followed by a unit (e #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[maxCacheSize](../../devkit/documents/NxJsonConfiguration#maxcachesize) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[maxCacheSize](/reference/core-api/devkit/documents/NxJsonConfiguration#maxcachesize) --- @@ -227,7 +227,7 @@ Named inputs targets can refer to reduce duplication #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[namedInputs](../../devkit/documents/NxJsonConfiguration#namedinputs) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[namedInputs](/reference/core-api/devkit/documents/NxJsonConfiguration#namedinputs) --- @@ -239,7 +239,7 @@ Set this to true to disable connection to Nx Cloud #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[neverConnectToCloud](../../devkit/documents/NxJsonConfiguration#neverconnecttocloud) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[neverConnectToCloud](/reference/core-api/devkit/documents/NxJsonConfiguration#neverconnecttocloud) --- @@ -248,11 +248,11 @@ Set this to true to disable connection to Nx Cloud • `Optional` **nxCloudAccessToken**: `string` If specified Nx will use nx-cloud by default with the given token. -To use a different runner that accepts an access token, define it in [tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions) +To use a different runner that accepts an access token, define it in [tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions) #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[nxCloudAccessToken](../../devkit/documents/NxJsonConfiguration#nxcloudaccesstoken) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[nxCloudAccessToken](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudaccesstoken) --- @@ -264,7 +264,7 @@ Specifies the encryption key used to encrypt artifacts data before sending it to #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[nxCloudEncryptionKey](../../devkit/documents/NxJsonConfiguration#nxcloudencryptionkey) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[nxCloudEncryptionKey](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudencryptionkey) --- @@ -273,11 +273,11 @@ Specifies the encryption key used to encrypt artifacts data before sending it to • `Optional` **nxCloudId**: `string` If specified Nx will use nx-cloud by default with the given cloud id. -To use a different runner that accepts a cloud id, define it in [tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions) +To use a different runner that accepts a cloud id, define it in [tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions) #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[nxCloudId](../../devkit/documents/NxJsonConfiguration#nxcloudid) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[nxCloudId](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudid) --- @@ -290,7 +290,7 @@ caching and displaying run links. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[nxCloudUrl](../../devkit/documents/NxJsonConfiguration#nxcloudurl) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[nxCloudUrl](/reference/core-api/devkit/documents/NxJsonConfiguration#nxcloudurl) --- @@ -302,19 +302,19 @@ Specifies how many tasks can be run in parallel. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[parallel](../../devkit/documents/NxJsonConfiguration#parallel) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[parallel](/reference/core-api/devkit/documents/NxJsonConfiguration#parallel) --- ### plugins -• `Optional` **plugins**: [`PluginConfiguration`](../../devkit/documents/PluginConfiguration)[] +• `Optional` **plugins**: [`PluginConfiguration`](/reference/core-api/devkit/documents/PluginConfiguration)[] Plugins for extending the project graph #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[plugins](../../devkit/documents/NxJsonConfiguration#plugins) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[plugins](/reference/core-api/devkit/documents/NxJsonConfiguration#plugins) --- @@ -326,19 +326,19 @@ Configuration for Nx Plugins #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[pluginsConfig](../../devkit/documents/NxJsonConfiguration#pluginsconfig) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[pluginsConfig](/reference/core-api/devkit/documents/NxJsonConfiguration#pluginsconfig) --- ### projects -• **projects**: `Record`\<`string`, [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration)\> +• **projects**: `Record`\<`string`, [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration)\> Projects' projects #### Overrides -[ProjectsConfigurations](../../devkit/documents/ProjectsConfigurations).[projects](../../devkit/documents/ProjectsConfigurations#projects) +[ProjectsConfigurations](/reference/core-api/devkit/documents/ProjectsConfigurations).[projects](/reference/core-api/devkit/documents/ProjectsConfigurations#projects) --- @@ -350,7 +350,7 @@ Configuration for `nx release` (versioning and publishing of applications and li #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[release](../../devkit/documents/NxJsonConfiguration#release) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[release](/reference/core-api/devkit/documents/NxJsonConfiguration#release) --- @@ -362,19 +362,19 @@ Configuration for the `nx sync` command. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[sync](../../devkit/documents/NxJsonConfiguration#sync) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[sync](/reference/core-api/devkit/documents/NxJsonConfiguration#sync) --- ### targetDefaults -• `Optional` **targetDefaults**: [`TargetDefaults`](../../devkit/documents/TargetDefaults) +• `Optional` **targetDefaults**: [`TargetDefaults`](/reference/core-api/devkit/documents/TargetDefaults) Dependencies between different target names across all projects #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[targetDefaults](../../devkit/documents/NxJsonConfiguration#targetdefaults) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[targetDefaults](/reference/core-api/devkit/documents/NxJsonConfiguration#targetdefaults) --- @@ -393,7 +393,7 @@ Available Task Runners for Nx to use #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[tasksRunnerOptions](../../devkit/documents/NxJsonConfiguration#tasksrunneroptions) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[tasksRunnerOptions](/reference/core-api/devkit/documents/NxJsonConfiguration#tasksrunneroptions) --- @@ -412,7 +412,7 @@ Settings for the Nx Terminal User Interface (TUI) #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[tui](../../devkit/documents/NxJsonConfiguration#tui) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[tui](/reference/core-api/devkit/documents/NxJsonConfiguration#tui) --- @@ -424,7 +424,7 @@ Set this to false to disable the daemon. #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[useDaemonProcess](../../devkit/documents/NxJsonConfiguration#usedaemonprocess) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[useDaemonProcess](/reference/core-api/devkit/documents/NxJsonConfiguration#usedaemonprocess) --- @@ -436,7 +436,7 @@ Set this to false to disable adding inference plugins when generating new projec #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[useInferencePlugins](../../devkit/documents/NxJsonConfiguration#useinferenceplugins) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[useInferencePlugins](/reference/core-api/devkit/documents/NxJsonConfiguration#useinferenceplugins) --- @@ -448,7 +448,7 @@ Version of the configuration format #### Inherited from -[ProjectsConfigurations](../../devkit/documents/ProjectsConfigurations).[version](../../devkit/documents/ProjectsConfigurations#version) +[ProjectsConfigurations](/reference/core-api/devkit/documents/ProjectsConfigurations).[version](/reference/core-api/devkit/documents/ProjectsConfigurations#version) --- @@ -467,4 +467,4 @@ Where new apps + libs should be placed #### Inherited from -[NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration).[workspaceLayout](../../devkit/documents/NxJsonConfiguration#workspacelayout) +[NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration).[workspaceLayout](/reference/core-api/devkit/documents/NxJsonConfiguration#workspacelayout) diff --git a/docs/generated/devkit/WorkspaceJsonConfiguration.md b/docs/generated/devkit/WorkspaceJsonConfiguration.md index 5bcec62b5c..98c66d51dd 100644 --- a/docs/generated/devkit/WorkspaceJsonConfiguration.md +++ b/docs/generated/devkit/WorkspaceJsonConfiguration.md @@ -1,6 +1,6 @@ # Type alias: WorkspaceJsonConfiguration -Ƭ **WorkspaceJsonConfiguration**: [`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +Ƭ **WorkspaceJsonConfiguration**: [`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) **`Deprecated`** diff --git a/docs/generated/devkit/addDependenciesToPackageJson.md b/docs/generated/devkit/addDependenciesToPackageJson.md index d881ee458e..4bb1dd6d9d 100644 --- a/docs/generated/devkit/addDependenciesToPackageJson.md +++ b/docs/generated/devkit/addDependenciesToPackageJson.md @@ -1,6 +1,6 @@ # Function: addDependenciesToPackageJson -▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`, `keepExistingVersions?`): [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +▸ **addDependenciesToPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`, `keepExistingVersions?`): [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) Add Dependencies and Dev Dependencies to package.json @@ -14,16 +14,16 @@ This will **add** `react` and `jest` to the dependencies and devDependencies sec #### Parameters -| Name | Type | Description | -| :---------------------- | :------------------------------------ | :-------------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | Tree representing file system to modify | -| `dependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the dependencies section of package.json | -| `devDependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the devDependencies section of package.json | -| `packageJsonPath?` | `string` | Path to package.json | -| `keepExistingVersions?` | `boolean` | If true, prevents existing dependencies from being bumped to newer versions | +| Name | Type | Description | +| :---------------------- | :-------------------------------------------------- | :-------------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | Tree representing file system to modify | +| `dependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the dependencies section of package.json | +| `devDependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the devDependencies section of package.json | +| `packageJsonPath?` | `string` | Path to package.json | +| `keepExistingVersions?` | `boolean` | If true, prevents existing dependencies from being bumped to newer versions | #### Returns -[`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +[`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) Callback to install dependencies only if necessary, no-op otherwise diff --git a/docs/generated/devkit/addProjectConfiguration.md b/docs/generated/devkit/addProjectConfiguration.md index 697d244cf5..83956ad940 100644 --- a/docs/generated/devkit/addProjectConfiguration.md +++ b/docs/generated/devkit/addProjectConfiguration.md @@ -6,12 +6,12 @@ Adds project configuration to the Nx workspace. #### Parameters -| Name | Type | Default value | Description | -| :--------------------- | :-------------------------------------------------------------------- | :------------ | :---------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | `undefined` | the file system tree | -| `projectName` | `string` | `undefined` | unique name. Often directories are part of the name (e.g., mydir-mylib) | -| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) | `undefined` | project configuration | -| `standalone` | `boolean` | `true` | whether the project is configured in workspace.json or not | +| Name | Type | Default value | Description | +| :--------------------- | :---------------------------------------------------------------------------------- | :------------ | :---------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | `undefined` | the file system tree | +| `projectName` | `string` | `undefined` | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| `projectConfiguration` | [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) | `undefined` | project configuration | +| `standalone` | `boolean` | `true` | whether the project is configured in workspace.json or not | #### Returns diff --git a/docs/generated/devkit/applyChangesToString.md b/docs/generated/devkit/applyChangesToString.md index 2368376056..b4a0b326d2 100644 --- a/docs/generated/devkit/applyChangesToString.md +++ b/docs/generated/devkit/applyChangesToString.md @@ -34,10 +34,10 @@ bootstrap({ #### Parameters -| Name | Type | -| :-------- | :------------------------------------------------------ | -| `text` | `string` | -| `changes` | [`StringChange`](../../devkit/documents/StringChange)[] | +| Name | Type | +| :-------- | :-------------------------------------------------------------------- | +| `text` | `string` | +| `changes` | [`StringChange`](/reference/core-api/devkit/documents/StringChange)[] | #### Returns diff --git a/docs/generated/devkit/convertNxExecutor.md b/docs/generated/devkit/convertNxExecutor.md index 9d3eb7b242..d4c77337f0 100644 --- a/docs/generated/devkit/convertNxExecutor.md +++ b/docs/generated/devkit/convertNxExecutor.md @@ -8,9 +8,9 @@ Use this to expose a compatible Angular Builder #### Parameters -| Name | Type | -| :--------- | :-------------------------------------------- | -| `executor` | [`Executor`](../../devkit/documents/Executor) | +| Name | Type | +| :--------- | :---------------------------------------------------------- | +| `executor` | [`Executor`](/reference/core-api/devkit/documents/Executor) | #### Returns diff --git a/docs/generated/devkit/convertNxGenerator.md b/docs/generated/devkit/convertNxGenerator.md index 4ba155319a..59d857a1ea 100644 --- a/docs/generated/devkit/convertNxGenerator.md +++ b/docs/generated/devkit/convertNxGenerator.md @@ -12,10 +12,10 @@ Convert an Nx Generator into an Angular Devkit Schematic. #### Parameters -| Name | Type | Description | -| :------------------------------ | :----------------------------------------------------- | :---------------------------------------------------------- | -| `generator` | [`Generator`](../../devkit/documents/Generator)\<`T`\> | The Nx generator to convert to an Angular Devkit Schematic. | -| `skipWritingConfigInOldFormat?` | `boolean` | - | +| Name | Type | Description | +| :------------------------------ | :------------------------------------------------------------------- | :---------------------------------------------------------- | +| `generator` | [`Generator`](/reference/core-api/devkit/documents/Generator)\<`T`\> | The Nx generator to convert to an Angular Devkit Schematic. | +| `skipWritingConfigInOldFormat?` | `boolean` | - | #### Returns diff --git a/docs/generated/devkit/createNodesFromFiles.md b/docs/generated/devkit/createNodesFromFiles.md index b9dda82a10..5e133f0243 100644 --- a/docs/generated/devkit/createNodesFromFiles.md +++ b/docs/generated/devkit/createNodesFromFiles.md @@ -10,12 +10,12 @@ #### Parameters -| Name | Type | -| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `createNodes` | (`projectConfigurationFile`: `string`, `options`: `T`, `context`: [`CreateNodesContext`](../../devkit/documents/CreateNodesContext), `idx`: `number`) => [`CreateNodesResult`](../../devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](../../devkit/documents/CreateNodesResult)\> | -| `configFiles` | readonly `string`[] | -| `options` | `T` | -| `context` | [`CreateNodesContextV2`](../../devkit/documents/CreateNodesContextV2) | +| Name | Type | +| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `createNodes` | (`projectConfigurationFile`: `string`, `options`: `T`, `context`: [`CreateNodesContext`](/reference/core-api/devkit/documents/CreateNodesContext), `idx`: `number`) => [`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult) \| `Promise`\<[`CreateNodesResult`](/reference/core-api/devkit/documents/CreateNodesResult)\> | +| `configFiles` | readonly `string`[] | +| `options` | `T` | +| `context` | [`CreateNodesContextV2`](/reference/core-api/devkit/documents/CreateNodesContextV2) | #### Returns diff --git a/docs/generated/devkit/createProjectFileMapUsingProjectGraph.md b/docs/generated/devkit/createProjectFileMapUsingProjectGraph.md index eb5b6d8c25..6b12be044e 100644 --- a/docs/generated/devkit/createProjectFileMapUsingProjectGraph.md +++ b/docs/generated/devkit/createProjectFileMapUsingProjectGraph.md @@ -1,13 +1,13 @@ # Function: createProjectFileMapUsingProjectGraph -▸ **createProjectFileMapUsingProjectGraph**(`graph`): `Promise`\<[`ProjectFileMap`](../../devkit/documents/ProjectFileMap)\> +▸ **createProjectFileMapUsingProjectGraph**(`graph`): `Promise`\<[`ProjectFileMap`](/reference/core-api/devkit/documents/ProjectFileMap)\> #### Parameters -| Name | Type | -| :------ | :---------------------------------------------------- | -| `graph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | +| Name | Type | +| :------ | :------------------------------------------------------------------ | +| `graph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | #### Returns -`Promise`\<[`ProjectFileMap`](../../devkit/documents/ProjectFileMap)\> +`Promise`\<[`ProjectFileMap`](/reference/core-api/devkit/documents/ProjectFileMap)\> diff --git a/docs/generated/devkit/createProjectGraphAsync.md b/docs/generated/devkit/createProjectGraphAsync.md index 5f1cc67e75..efa9a2d762 100644 --- a/docs/generated/devkit/createProjectGraphAsync.md +++ b/docs/generated/devkit/createProjectGraphAsync.md @@ -1,6 +1,6 @@ # Function: createProjectGraphAsync -▸ **createProjectGraphAsync**(`opts?`): `Promise`\<[`ProjectGraph`](../../devkit/documents/ProjectGraph)\> +▸ **createProjectGraphAsync**(`opts?`): `Promise`\<[`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph)\> Computes and returns a ProjectGraph. @@ -34,4 +34,4 @@ stored in the daemon process. To reset both run: `nx reset`. #### Returns -`Promise`\<[`ProjectGraph`](../../devkit/documents/ProjectGraph)\> +`Promise`\<[`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph)\> diff --git a/docs/generated/devkit/defaultTasksRunner.md b/docs/generated/devkit/defaultTasksRunner.md index d827134f1a..be56eae6b1 100644 --- a/docs/generated/devkit/defaultTasksRunner.md +++ b/docs/generated/devkit/defaultTasksRunner.md @@ -4,20 +4,20 @@ #### Parameters -| Name | Type | -| :--------------------------- | :----------------------------------------------------------------------------------------- | -| `tasks` | [`Task`](../../devkit/documents/Task)[] | -| `options` | [`DefaultTasksRunnerOptions`](../../devkit/documents/DefaultTasksRunnerOptions) | -| `context?` | `Object` | -| `context.daemon?` | `DaemonClient` | -| `context.hasher?` | [`TaskHasher`](../../devkit/documents/TaskHasher) | -| `context.initiatingProject?` | `string` | -| `context.initiatingTasks` | [`Task`](../../devkit/documents/Task)[] | -| `context.nxArgs` | `NxArgs` | -| `context.nxJson` | [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> | -| `context.projectGraph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | -| `context.target?` | `string` | -| `context.taskGraph?` | [`TaskGraph`](../../devkit/documents/TaskGraph) | +| Name | Type | +| :--------------------------- | :------------------------------------------------------------------------------------------------------- | +| `tasks` | [`Task`](/reference/core-api/devkit/documents/Task)[] | +| `options` | [`DefaultTasksRunnerOptions`](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions) | +| `context?` | `Object` | +| `context.daemon?` | `DaemonClient` | +| `context.hasher?` | [`TaskHasher`](/reference/core-api/devkit/documents/TaskHasher) | +| `context.initiatingProject?` | `string` | +| `context.initiatingTasks` | [`Task`](/reference/core-api/devkit/documents/Task)[] | +| `context.nxArgs` | `NxArgs` | +| `context.nxJson` | [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> | +| `context.projectGraph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | +| `context.target?` | `string` | +| `context.taskGraph?` | [`TaskGraph`](/reference/core-api/devkit/documents/TaskGraph) | #### Returns diff --git a/docs/generated/devkit/detectPackageManager.md b/docs/generated/devkit/detectPackageManager.md index 8d58dc6ddb..cbe7c23532 100644 --- a/docs/generated/devkit/detectPackageManager.md +++ b/docs/generated/devkit/detectPackageManager.md @@ -1,6 +1,6 @@ # Function: detectPackageManager -▸ **detectPackageManager**(`dir?`): [`PackageManager`](../../devkit/documents/PackageManager) +▸ **detectPackageManager**(`dir?`): [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) Detects which package manager is used in the workspace based on the lock file. @@ -12,4 +12,4 @@ Detects which package manager is used in the workspace based on the lock file. #### Returns -[`PackageManager`](../../devkit/documents/PackageManager) +[`PackageManager`](/reference/core-api/devkit/documents/PackageManager) diff --git a/docs/generated/devkit/ensurePackage.md b/docs/generated/devkit/ensurePackage.md index 9a73af5bd9..aec5ac9c34 100644 --- a/docs/generated/devkit/ensurePackage.md +++ b/docs/generated/devkit/ensurePackage.md @@ -4,14 +4,14 @@ #### Parameters -| Name | Type | Description | -| :------------------------ | :------------------------------------ | :----------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `pkg` | `string` | the package to check (e.g. @nx/jest) | -| `requiredVersion` | `string` | the version or semver range to check (e.g. ~1.0.0, >=1.0.0 <2.0.0) | -| `options?` | `Object` | - | -| `options.dev?` | `boolean` | - | -| `options.throwOnMissing?` | `boolean` | - | +| Name | Type | Description | +| :------------------------ | :-------------------------------------------------- | :----------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `pkg` | `string` | the package to check (e.g. @nx/jest) | +| `requiredVersion` | `string` | the version or semver range to check (e.g. ~1.0.0, >=1.0.0 <2.0.0) | +| `options?` | `Object` | - | +| `options.dev?` | `boolean` | - | +| `options.throwOnMissing?` | `boolean` | - | #### Returns diff --git a/docs/generated/devkit/formatFiles.md b/docs/generated/devkit/formatFiles.md index 54d7371458..ebffdc7872 100644 --- a/docs/generated/devkit/formatFiles.md +++ b/docs/generated/devkit/formatFiles.md @@ -6,11 +6,11 @@ Formats all the created or updated files using Prettier #### Parameters -| Name | Type | Description | -| :------------------------------ | :------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `options?` | `Object` | - | -| `options.sortRootTsconfigPaths` | `boolean` | TODO(v21): Stop sorting tsconfig paths by default, paths are now less common/important in Nx workspace setups, and the sorting causes comments to be lost. | +| Name | Type | Description | +| :------------------------------ | :-------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `options?` | `Object` | - | +| `options.sortRootTsconfigPaths` | `boolean` | TODO(v21): Stop sorting tsconfig paths by default, paths are now less common/important in Nx workspace setups, and the sorting causes comments to be lost. | #### Returns diff --git a/docs/generated/devkit/generateFiles.md b/docs/generated/devkit/generateFiles.md index 5c941c5fe1..3b8bcc480d 100644 --- a/docs/generated/devkit/generateFiles.md +++ b/docs/generated/devkit/generateFiles.md @@ -26,13 +26,13 @@ doesn't get confused about incorrect TypeScript files. #### Parameters -| Name | Type | Description | -| :-------------- | :------------------------------------ | :-------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `srcFolder` | `string` | the source folder of files (absolute path) | -| `target` | `string` | the target folder (relative to the tree root) | -| `substitutions` | `Object` | an object of key-value pairs | -| `options?` | `GenerateFilesOptions` | See GenerateFilesOptions | +| Name | Type | Description | +| :-------------- | :-------------------------------------------------- | :-------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `srcFolder` | `string` | the source folder of files (absolute path) | +| `target` | `string` | the target folder (relative to the tree root) | +| `substitutions` | `Object` | an object of key-value pairs | +| `options?` | `GenerateFilesOptions` | See GenerateFilesOptions | #### Returns diff --git a/docs/generated/devkit/getOutputsForTargetAndConfiguration.md b/docs/generated/devkit/getOutputsForTargetAndConfiguration.md index 62589df675..2207a60404 100644 --- a/docs/generated/devkit/getOutputsForTargetAndConfiguration.md +++ b/docs/generated/devkit/getOutputsForTargetAndConfiguration.md @@ -4,10 +4,10 @@ #### Parameters -| Name | Type | -| :----- | :-------------------------------------------------------------------------- | -| `task` | [`Task`](../../devkit/documents/Task) | -| `node` | [`ProjectGraphProjectNode`](../../devkit/documents/ProjectGraphProjectNode) | +| Name | Type | +| :----- | :---------------------------------------------------------------------------------------- | +| `task` | [`Task`](/reference/core-api/devkit/documents/Task) | +| `node` | [`ProjectGraphProjectNode`](/reference/core-api/devkit/documents/ProjectGraphProjectNode) | #### Returns @@ -23,11 +23,11 @@ Returns the list of outputs that will be cached. #### Parameters -| Name | Type | -| :---------- | :------------------------------------------------------------------------------------------------------------------ | -| `target` | [`Task`](../../devkit/documents/Task) \| \{ `configuration?`: `string` ; `project`: `string` ; `target`: `string` } | -| `overrides` | `any` | -| `node` | [`ProjectGraphProjectNode`](../../devkit/documents/ProjectGraphProjectNode) | +| Name | Type | +| :---------- | :-------------------------------------------------------------------------------------------------------------------------------- | +| `target` | [`Task`](/reference/core-api/devkit/documents/Task) \| \{ `configuration?`: `string` ; `project`: `string` ; `target`: `string` } | +| `overrides` | `any` | +| `node` | [`ProjectGraphProjectNode`](/reference/core-api/devkit/documents/ProjectGraphProjectNode) | #### Returns diff --git a/docs/generated/devkit/getPackageManagerCommand.md b/docs/generated/devkit/getPackageManagerCommand.md index 8db29b0c80..f88747f14b 100644 --- a/docs/generated/devkit/getPackageManagerCommand.md +++ b/docs/generated/devkit/getPackageManagerCommand.md @@ -14,10 +14,10 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`); #### Parameters -| Name | Type | Default value | Description | -| :--------------- | :-------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------ | -| `packageManager` | [`PackageManager`](../../devkit/documents/PackageManager) | `undefined` | The package manager to use. If not provided, it will be detected based on the lock file. | -| `root` | `string` | `workspaceRoot` | The directory the commands will be ran inside of. Defaults to the current workspace's root. | +| Name | Type | Default value | Description | +| :--------------- | :---------------------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------ | +| `packageManager` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | `undefined` | The package manager to use. If not provided, it will be detected based on the lock file. | +| `root` | `string` | `workspaceRoot` | The directory the commands will be ran inside of. Defaults to the current workspace's root. | #### Returns diff --git a/docs/generated/devkit/getPackageManagerVersion.md b/docs/generated/devkit/getPackageManagerVersion.md index 94bb7d7dff..1c5f84eed3 100644 --- a/docs/generated/devkit/getPackageManagerVersion.md +++ b/docs/generated/devkit/getPackageManagerVersion.md @@ -8,10 +8,10 @@ but it can also be passed in explicitly. #### Parameters -| Name | Type | -| :--------------- | :-------------------------------------------------------- | -| `packageManager` | [`PackageManager`](../../devkit/documents/PackageManager) | -| `cwd` | `string` | +| Name | Type | +| :--------------- | :---------------------------------------------------------------------- | +| `packageManager` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | +| `cwd` | `string` | #### Returns diff --git a/docs/generated/devkit/getProjects.md b/docs/generated/devkit/getProjects.md index 8ffc682c9b..8ea0d13a1f 100644 --- a/docs/generated/devkit/getProjects.md +++ b/docs/generated/devkit/getProjects.md @@ -1,17 +1,17 @@ # Function: getProjects -▸ **getProjects**(`tree`): `Map`\<`string`, [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration)\> +▸ **getProjects**(`tree`): `Map`\<`string`, [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration)\> Get a map of all projects in a workspace. -Use [readProjectConfiguration](../../devkit/documents/readProjectConfiguration) if only one project is needed. +Use [readProjectConfiguration](/reference/core-api/devkit/documents/readProjectConfiguration) if only one project is needed. #### Parameters -| Name | Type | -| :----- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | +| Name | Type | +| :----- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | #### Returns -`Map`\<`string`, [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration)\> +`Map`\<`string`, [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration)\> diff --git a/docs/generated/devkit/getWorkspaceLayout.md b/docs/generated/devkit/getWorkspaceLayout.md index fbcfc611d9..911cb70c10 100644 --- a/docs/generated/devkit/getWorkspaceLayout.md +++ b/docs/generated/devkit/getWorkspaceLayout.md @@ -13,9 +13,9 @@ Example: #### Parameters -| Name | Type | Description | -| :----- | :------------------------------------ | :--------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | file system tree | +| Name | Type | Description | +| :----- | :-------------------------------------------------- | :--------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | file system tree | #### Returns diff --git a/docs/generated/devkit/glob.md b/docs/generated/devkit/glob.md index fa9c895a72..b46b40e508 100644 --- a/docs/generated/devkit/glob.md +++ b/docs/generated/devkit/glob.md @@ -8,10 +8,10 @@ Paths should be unix-style with forward slashes. #### Parameters -| Name | Type | Description | -| :--------- | :------------------------------------ | :---------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | The file system tree | -| `patterns` | `string`[] | A list of glob patterns | +| Name | Type | Description | +| :--------- | :-------------------------------------------------- | :---------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | The file system tree | +| `patterns` | `string`[] | A list of glob patterns | #### Returns @@ -21,4 +21,4 @@ Normalized paths in the workspace that match the provided glob patterns. **`Deprecated`** -Use [globAsync](../../devkit/documents/globAsync) instead. +Use [globAsync](/reference/core-api/devkit/documents/globAsync) instead. diff --git a/docs/generated/devkit/globAsync.md b/docs/generated/devkit/globAsync.md index 6f1f766258..bbc6c924f0 100644 --- a/docs/generated/devkit/globAsync.md +++ b/docs/generated/devkit/globAsync.md @@ -8,10 +8,10 @@ Paths should be unix-style with forward slashes. #### Parameters -| Name | Type | Description | -| :--------- | :------------------------------------ | :---------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | The file system tree | -| `patterns` | `string`[] | A list of glob patterns | +| Name | Type | Description | +| :--------- | :-------------------------------------------------- | :---------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | The file system tree | +| `patterns` | `string`[] | A list of glob patterns | #### Returns diff --git a/docs/generated/devkit/installPackagesTask.md b/docs/generated/devkit/installPackagesTask.md index ed9ebe9df7..e88a96530c 100644 --- a/docs/generated/devkit/installPackagesTask.md +++ b/docs/generated/devkit/installPackagesTask.md @@ -7,12 +7,12 @@ Runs `npm install` or `yarn install`. It will skip running the install if #### Parameters -| Name | Type | Description | -| :---------------- | :-------------------------------------------------------- | :------------------------------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `alwaysRun?` | `boolean` | always run the command even if `package.json` hasn't changed. | -| `cwd?` | `string` | - | -| `packageManager?` | [`PackageManager`](../../devkit/documents/PackageManager) | - | +| Name | Type | Description | +| :---------------- | :---------------------------------------------------------------------- | :------------------------------------------------------------ | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `alwaysRun?` | `boolean` | always run the command even if `package.json` hasn't changed. | +| `cwd?` | `string` | - | +| `packageManager?` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | - | #### Returns diff --git a/docs/generated/devkit/isWorkspacesEnabled.md b/docs/generated/devkit/isWorkspacesEnabled.md index 3223208dd1..6d71751e57 100644 --- a/docs/generated/devkit/isWorkspacesEnabled.md +++ b/docs/generated/devkit/isWorkspacesEnabled.md @@ -6,10 +6,10 @@ Returns true if the workspace is using npm workspaces, yarn workspaces, or pnpm #### Parameters -| Name | Type | Default value | Description | -| :--------------- | :-------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------ | -| `packageManager` | [`PackageManager`](../../devkit/documents/PackageManager) | `undefined` | The package manager to use. If not provided, it will be detected based on the lock file. | -| `root` | `string` | `workspaceRoot` | The directory the commands will be ran inside of. Defaults to the current workspace's root. | +| Name | Type | Default value | Description | +| :--------------- | :---------------------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------ | +| `packageManager` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | `undefined` | The package manager to use. If not provided, it will be detected based on the lock file. | +| `root` | `string` | `workspaceRoot` | The directory the commands will be ran inside of. Defaults to the current workspace's root. | #### Returns diff --git a/docs/generated/devkit/moveFilesToNewDirectory.md b/docs/generated/devkit/moveFilesToNewDirectory.md index 902ba382e1..af76f2df3c 100644 --- a/docs/generated/devkit/moveFilesToNewDirectory.md +++ b/docs/generated/devkit/moveFilesToNewDirectory.md @@ -6,11 +6,11 @@ Analogous to cp -r oldDir newDir #### Parameters -| Name | Type | -| :------- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | -| `oldDir` | `string` | -| `newDir` | `string` | +| Name | Type | +| :------- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | +| `oldDir` | `string` | +| `newDir` | `string` | #### Returns diff --git a/docs/generated/devkit/ngcli_adapter/NxScopedHost.md b/docs/generated/devkit/ngcli_adapter/NxScopedHost.md index bc27b32c25..59adcb8624 100644 --- a/docs/generated/devkit/ngcli_adapter/NxScopedHost.md +++ b/docs/generated/devkit/ngcli_adapter/NxScopedHost.md @@ -10,41 +10,41 @@ ### Constructors -- [constructor](../../devkit/documents/ngcli_adapter/NxScopedHost#constructor) +- [constructor](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#constructor) ### Properties -- [\_delegate](../../devkit/documents/ngcli_adapter/NxScopedHost#_delegate): Host -- [\_root](../../devkit/documents/ngcli_adapter/NxScopedHost#_root): Path -- [root](../../devkit/documents/ngcli_adapter/NxScopedHost#root): string +- [\_delegate](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#_delegate): Host +- [\_root](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#_root): Path +- [root](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#root): string ### Accessors -- [capabilities](../../devkit/documents/ngcli_adapter/NxScopedHost#capabilities) +- [capabilities](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#capabilities) ### Methods -- [\_resolve](../../devkit/documents/ngcli_adapter/NxScopedHost#_resolve) -- [delete](../../devkit/documents/ngcli_adapter/NxScopedHost#delete) -- [exists](../../devkit/documents/ngcli_adapter/NxScopedHost#exists) -- [isDirectory](../../devkit/documents/ngcli_adapter/NxScopedHost#isdirectory) -- [isFile](../../devkit/documents/ngcli_adapter/NxScopedHost#isfile) -- [list](../../devkit/documents/ngcli_adapter/NxScopedHost#list) -- [mergeProjectConfiguration](../../devkit/documents/ngcli_adapter/NxScopedHost#mergeprojectconfiguration) -- [read](../../devkit/documents/ngcli_adapter/NxScopedHost#read) -- [readExistingAngularJson](../../devkit/documents/ngcli_adapter/NxScopedHost#readexistingangularjson) -- [readJson](../../devkit/documents/ngcli_adapter/NxScopedHost#readjson) -- [readMergedWorkspaceConfiguration](../../devkit/documents/ngcli_adapter/NxScopedHost#readmergedworkspaceconfiguration) -- [rename](../../devkit/documents/ngcli_adapter/NxScopedHost#rename) -- [stat](../../devkit/documents/ngcli_adapter/NxScopedHost#stat) -- [watch](../../devkit/documents/ngcli_adapter/NxScopedHost#watch) -- [write](../../devkit/documents/ngcli_adapter/NxScopedHost#write) +- [\_resolve](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#_resolve) +- [delete](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#delete) +- [exists](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#exists) +- [isDirectory](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#isdirectory) +- [isFile](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#isfile) +- [list](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#list) +- [mergeProjectConfiguration](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#mergeprojectconfiguration) +- [read](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#read) +- [readExistingAngularJson](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#readexistingangularjson) +- [readJson](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#readjson) +- [readMergedWorkspaceConfiguration](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#readmergedworkspaceconfiguration) +- [rename](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#rename) +- [stat](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#stat) +- [watch](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#watch) +- [write](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost#write) ## Constructors ### constructor -• **new NxScopedHost**(`root`): [`NxScopedHost`](../../devkit/documents/ngcli_adapter/NxScopedHost) +• **new NxScopedHost**(`root`): [`NxScopedHost`](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost) #### Parameters @@ -54,7 +54,7 @@ #### Returns -[`NxScopedHost`](../../devkit/documents/ngcli_adapter/NxScopedHost) +[`NxScopedHost`](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost) #### Overrides diff --git a/docs/generated/devkit/ngcli_adapter/README.md b/docs/generated/devkit/ngcli_adapter/README.md index 9bfb21f93f..c69feba31e 100644 --- a/docs/generated/devkit/ngcli_adapter/README.md +++ b/docs/generated/devkit/ngcli_adapter/README.md @@ -4,9 +4,9 @@ ### Classes -- [NxScopedHost](../../devkit/documents/ngcli_adapter/NxScopedHost) +- [NxScopedHost](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost) ### Functions -- [mockSchematicsForTesting](../../devkit/documents/ngcli_adapter/mockSchematicsForTesting) -- [wrapAngularDevkitSchematic](../../devkit/documents/ngcli_adapter/wrapAngularDevkitSchematic) +- [mockSchematicsForTesting](/reference/core-api/devkit/documents/ngcli_adapter/mockSchematicsForTesting) +- [wrapAngularDevkitSchematic](/reference/core-api/devkit/documents/ngcli_adapter/wrapAngularDevkitSchematic) diff --git a/docs/generated/devkit/parseJson.md b/docs/generated/devkit/parseJson.md index 21d18eda3f..1e196ac309 100644 --- a/docs/generated/devkit/parseJson.md +++ b/docs/generated/devkit/parseJson.md @@ -13,10 +13,10 @@ By default javascript-style comments and trailing commas are allowed. #### Parameters -| Name | Type | Description | -| :--------- | :------------------------------------------------------------ | :--------------------- | -| `input` | `string` | JSON content as string | -| `options?` | [`JsonParseOptions`](../../devkit/documents/JsonParseOptions) | JSON parse options | +| Name | Type | Description | +| :--------- | :-------------------------------------------------------------------------- | :--------------------- | +| `input` | `string` | JSON content as string | +| `options?` | [`JsonParseOptions`](/reference/core-api/devkit/documents/JsonParseOptions) | JSON parse options | #### Returns diff --git a/docs/generated/devkit/parseTargetString.md b/docs/generated/devkit/parseTargetString.md index c99f7741da..99ec3cd4f2 100644 --- a/docs/generated/devkit/parseTargetString.md +++ b/docs/generated/devkit/parseTargetString.md @@ -1,6 +1,6 @@ # Function: parseTargetString -▸ **parseTargetString**(`targetString`, `projectGraph`): [`Target`](../../devkit/documents/Target) +▸ **parseTargetString**(`targetString`, `projectGraph`): [`Target`](/reference/core-api/devkit/documents/Target) Parses a target string into {project, target, configuration} @@ -13,19 +13,19 @@ parseTargetString('proj:test:production', graph); // returns { project: "proj", #### Parameters -| Name | Type | Description | -| :------------- | :---------------------------------------------------- | :--------------- | -| `targetString` | `string` | target reference | -| `projectGraph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | - | +| Name | Type | Description | +| :------------- | :------------------------------------------------------------------ | :--------------- | +| `targetString` | `string` | target reference | +| `projectGraph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | - | #### Returns -[`Target`](../../devkit/documents/Target) +[`Target`](/reference/core-api/devkit/documents/Target) -▸ **parseTargetString**(`targetString`, `ctx`): [`Target`](../../devkit/documents/Target) +▸ **parseTargetString**(`targetString`, `ctx`): [`Target`](/reference/core-api/devkit/documents/Target) Parses a target string into {project, target, configuration}. Passing a full -[ExecutorContext](../../devkit/documents/ExecutorContext) enables the targetString to reference the current project. +[ExecutorContext](/reference/core-api/devkit/documents/ExecutorContext) enables the targetString to reference the current project. Examples: @@ -37,11 +37,11 @@ parseTargetString('proj:test:production', executorContext); // returns { project #### Parameters -| Name | Type | -| :------------- | :---------------------------------------------------------- | -| `targetString` | `string` | -| `ctx` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :------------- | :------------------------------------------------------------------------ | +| `targetString` | `string` | +| `ctx` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | #### Returns -[`Target`](../../devkit/documents/Target) +[`Target`](/reference/core-api/devkit/documents/Target) diff --git a/docs/generated/devkit/readCachedProjectGraph.md b/docs/generated/devkit/readCachedProjectGraph.md index 3ce681d8f6..0d346397ed 100644 --- a/docs/generated/devkit/readCachedProjectGraph.md +++ b/docs/generated/devkit/readCachedProjectGraph.md @@ -1,6 +1,6 @@ # Function: readCachedProjectGraph -▸ **readCachedProjectGraph**(`minimumComputedAt?`): [`ProjectGraph`](../../devkit/documents/ProjectGraph) +▸ **readCachedProjectGraph**(`minimumComputedAt?`): [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) Synchronously reads the latest cached copy of the workspace's ProjectGraph. @@ -12,7 +12,7 @@ Synchronously reads the latest cached copy of the workspace's ProjectGraph. #### Returns -[`ProjectGraph`](../../devkit/documents/ProjectGraph) +[`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) **`Throws`** diff --git a/docs/generated/devkit/readJson.md b/docs/generated/devkit/readJson.md index 4931812e9c..2df85deeba 100644 --- a/docs/generated/devkit/readJson.md +++ b/docs/generated/devkit/readJson.md @@ -12,11 +12,11 @@ Reads a json file, removes all comments and parses JSON. #### Parameters -| Name | Type | Description | -| :--------- | :------------------------------------------------------------ | :-------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | file system tree | -| `path` | `string` | file path | -| `options?` | [`JsonParseOptions`](../../devkit/documents/JsonParseOptions) | Optional JSON Parse Options | +| Name | Type | Description | +| :--------- | :-------------------------------------------------------------------------- | :-------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | file system tree | +| `path` | `string` | file path | +| `options?` | [`JsonParseOptions`](/reference/core-api/devkit/documents/JsonParseOptions) | Optional JSON Parse Options | #### Returns diff --git a/docs/generated/devkit/readNxJson.md b/docs/generated/devkit/readNxJson.md index 3a717f0f82..78622bc18b 100644 --- a/docs/generated/devkit/readNxJson.md +++ b/docs/generated/devkit/readNxJson.md @@ -1,15 +1,15 @@ # Function: readNxJson -▸ **readNxJson**(`tree`): [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) \| `null` +▸ **readNxJson**(`tree`): [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) \| `null` Reads nx.json #### Parameters -| Name | Type | -| :----- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | +| Name | Type | +| :----- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | #### Returns -[`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration) \| `null` +[`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration) \| `null` diff --git a/docs/generated/devkit/readProjectConfiguration.md b/docs/generated/devkit/readProjectConfiguration.md index 0190e370f2..a2fe03253f 100644 --- a/docs/generated/devkit/readProjectConfiguration.md +++ b/docs/generated/devkit/readProjectConfiguration.md @@ -1,19 +1,19 @@ # Function: readProjectConfiguration -▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) +▸ **readProjectConfiguration**(`tree`, `projectName`): [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) Reads a project configuration. #### Parameters -| Name | Type | Description | -| :------------ | :------------------------------------ | :---------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| Name | Type | Description | +| :------------ | :-------------------------------------------------- | :---------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | #### Returns -[`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) +[`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) **`Throws`** diff --git a/docs/generated/devkit/readProjectsConfigurationFromProjectGraph.md b/docs/generated/devkit/readProjectsConfigurationFromProjectGraph.md index d30aa67146..d8aef9b12a 100644 --- a/docs/generated/devkit/readProjectsConfigurationFromProjectGraph.md +++ b/docs/generated/devkit/readProjectsConfigurationFromProjectGraph.md @@ -1,15 +1,15 @@ # Function: readProjectsConfigurationFromProjectGraph -▸ **readProjectsConfigurationFromProjectGraph**(`projectGraph`): [`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +▸ **readProjectsConfigurationFromProjectGraph**(`projectGraph`): [`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) -Get the [ProjectsConfigurations](../../devkit/documents/ProjectsConfigurations) from the [ProjectGraph](../../devkit/documents/ProjectGraph) +Get the [ProjectsConfigurations](/reference/core-api/devkit/documents/ProjectsConfigurations) from the [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) #### Parameters -| Name | Type | -| :------------- | :---------------------------------------------------- | -| `projectGraph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | +| Name | Type | +| :------------- | :------------------------------------------------------------------ | +| `projectGraph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | #### Returns -[`ProjectsConfigurations`](../../devkit/documents/ProjectsConfigurations) +[`ProjectsConfigurations`](/reference/core-api/devkit/documents/ProjectsConfigurations) diff --git a/docs/generated/devkit/readTargetOptions.md b/docs/generated/devkit/readTargetOptions.md index b79af8fa49..d371dd139d 100644 --- a/docs/generated/devkit/readTargetOptions.md +++ b/docs/generated/devkit/readTargetOptions.md @@ -14,10 +14,10 @@ Works as if you invoked the target yourself without passing any command lint ove #### Parameters -| Name | Type | -| :--------------- | :---------------------------------------------------------- | -| `«destructured»` | [`Target`](../../devkit/documents/Target) | -| `context` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :--------------- | :------------------------------------------------------------------------ | +| `«destructured»` | [`Target`](/reference/core-api/devkit/documents/Target) | +| `context` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | #### Returns diff --git a/docs/generated/devkit/removeDependenciesFromPackageJson.md b/docs/generated/devkit/removeDependenciesFromPackageJson.md index 6fe6b0a308..43d15db8c2 100644 --- a/docs/generated/devkit/removeDependenciesFromPackageJson.md +++ b/docs/generated/devkit/removeDependenciesFromPackageJson.md @@ -1,6 +1,6 @@ # Function: removeDependenciesFromPackageJson -▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +▸ **removeDependenciesFromPackageJson**(`tree`, `dependencies`, `devDependencies`, `packageJsonPath?`): [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) Remove Dependencies and Dev Dependencies from package.json @@ -14,15 +14,15 @@ This will **remove** `react` and `jest` from the dependencies and devDependencie #### Parameters -| Name | Type | Description | -| :----------------- | :------------------------------------ | :-------------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | - | -| `dependencies` | `string`[] | Dependencies to be removed from the dependencies section of package.json | -| `devDependencies` | `string`[] | Dependencies to be removed from the devDependencies section of package.json | -| `packageJsonPath?` | `string` | - | +| Name | Type | Description | +| :----------------- | :-------------------------------------------------- | :-------------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | - | +| `dependencies` | `string`[] | Dependencies to be removed from the dependencies section of package.json | +| `devDependencies` | `string`[] | Dependencies to be removed from the devDependencies section of package.json | +| `packageJsonPath?` | `string` | - | #### Returns -[`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +[`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) Callback to uninstall dependencies only if necessary. undefined is returned if changes are not necessary. diff --git a/docs/generated/devkit/removeProjectConfiguration.md b/docs/generated/devkit/removeProjectConfiguration.md index 2536dcef2e..59ac9d2cf4 100644 --- a/docs/generated/devkit/removeProjectConfiguration.md +++ b/docs/generated/devkit/removeProjectConfiguration.md @@ -6,10 +6,10 @@ Removes the configuration of an existing project. #### Parameters -| Name | Type | Description | -| :------------ | :------------------------------------ | :---------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| Name | Type | Description | +| :------------ | :-------------------------------------------------- | :---------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | #### Returns diff --git a/docs/generated/devkit/reverse.md b/docs/generated/devkit/reverse.md index 5f79f2d94e..81666dbf45 100644 --- a/docs/generated/devkit/reverse.md +++ b/docs/generated/devkit/reverse.md @@ -1,6 +1,6 @@ # Function: reverse -▸ **reverse**(`graph`): [`ProjectGraph`](../../devkit/documents/ProjectGraph) +▸ **reverse**(`graph`): [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) Returns a new project graph where all the edges are reversed. @@ -9,10 +9,10 @@ B will depend on A. #### Parameters -| Name | Type | -| :------ | :---------------------------------------------------- | -| `graph` | [`ProjectGraph`](../../devkit/documents/ProjectGraph) | +| Name | Type | +| :------ | :------------------------------------------------------------------ | +| `graph` | [`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) | #### Returns -[`ProjectGraph`](../../devkit/documents/ProjectGraph) +[`ProjectGraph`](/reference/core-api/devkit/documents/ProjectGraph) diff --git a/docs/generated/devkit/runExecutor.md b/docs/generated/devkit/runExecutor.md index 83e3dcd2e9..489d599906 100644 --- a/docs/generated/devkit/runExecutor.md +++ b/docs/generated/devkit/runExecutor.md @@ -38,11 +38,11 @@ Note that the return value is a promise of an iterator, so you need to await bef #### Parameters -| Name | Type | -| :------------------ | :---------------------------------------------------------- | -| `targetDescription` | [`Target`](../../devkit/documents/Target) | -| `overrides` | `Object` | -| `context` | [`ExecutorContext`](../../devkit/documents/ExecutorContext) | +| Name | Type | +| :------------------ | :------------------------------------------------------------------------ | +| `targetDescription` | [`Target`](/reference/core-api/devkit/documents/Target) | +| `overrides` | `Object` | +| `context` | [`ExecutorContext`](/reference/core-api/devkit/documents/ExecutorContext) | #### Returns diff --git a/docs/generated/devkit/runTasksInSerial.md b/docs/generated/devkit/runTasksInSerial.md index f0864f014c..c4b4aedbd1 100644 --- a/docs/generated/devkit/runTasksInSerial.md +++ b/docs/generated/devkit/runTasksInSerial.md @@ -1,15 +1,15 @@ # Function: runTasksInSerial -▸ **runTasksInSerial**(`...tasks`): [`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +▸ **runTasksInSerial**(`...tasks`): [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) Run tasks in serial #### Parameters -| Name | Type | Description | -| :--------- | :---------------------------------------------------------------- | :-------------------------- | -| `...tasks` | [`GeneratorCallback`](../../devkit/documents/GeneratorCallback)[] | The tasks to run in serial. | +| Name | Type | Description | +| :--------- | :------------------------------------------------------------------------------ | :-------------------------- | +| `...tasks` | [`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback)[] | The tasks to run in serial. | #### Returns -[`GeneratorCallback`](../../devkit/documents/GeneratorCallback) +[`GeneratorCallback`](/reference/core-api/devkit/documents/GeneratorCallback) diff --git a/docs/generated/devkit/serializeJson.md b/docs/generated/devkit/serializeJson.md index a88b5b21f6..b11b2daf97 100644 --- a/docs/generated/devkit/serializeJson.md +++ b/docs/generated/devkit/serializeJson.md @@ -13,10 +13,10 @@ By default the JSON string is formatted with a 2 space indentation to be easy re #### Parameters -| Name | Type | Description | -| :--------- | :-------------------------------------------------------------------- | :---------------------------------------- | -| `input` | `T` | Object which should be serialized to JSON | -| `options?` | [`JsonSerializeOptions`](../../devkit/documents/JsonSerializeOptions) | JSON serialize options | +| Name | Type | Description | +| :--------- | :---------------------------------------------------------------------------------- | :---------------------------------------- | +| `input` | `T` | Object which should be serialized to JSON | +| `options?` | [`JsonSerializeOptions`](/reference/core-api/devkit/documents/JsonSerializeOptions) | JSON serialize options | #### Returns diff --git a/docs/generated/devkit/targetToTargetString.md b/docs/generated/devkit/targetToTargetString.md index 917f84e3ef..564ae07eb0 100644 --- a/docs/generated/devkit/targetToTargetString.md +++ b/docs/generated/devkit/targetToTargetString.md @@ -6,9 +6,9 @@ Returns a string in the format "project:target[:configuration]" for the target #### Parameters -| Name | Type | Description | -| :------- | :---------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `target` | [`Target`](../../devkit/documents/Target) | target object Examples: `typescript targetToTargetString({ project: "proj", target: "test" }) // returns "proj:test" targetToTargetString({ project: "proj", target: "test", configuration: "production" }) // returns "proj:test:production" ` | +| Name | Type | Description | +| :------- | :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `target` | [`Target`](/reference/core-api/devkit/documents/Target) | target object Examples: `typescript targetToTargetString({ project: "proj", target: "test" }) // returns "proj:test" targetToTargetString({ project: "proj", target: "test", configuration: "production" }) // returns "proj:test:production" ` | #### Returns diff --git a/docs/generated/devkit/toJS.md b/docs/generated/devkit/toJS.md index 46fae2143a..0f8cde0821 100644 --- a/docs/generated/devkit/toJS.md +++ b/docs/generated/devkit/toJS.md @@ -6,10 +6,10 @@ Rename and transpile any new typescript files created to javascript files #### Parameters -| Name | Type | -| :--------- | :-------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | -| `options?` | [`ToJSOptions`](../../devkit/documents/ToJSOptions) | +| Name | Type | +| :--------- | :---------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | +| `options?` | [`ToJSOptions`](/reference/core-api/devkit/documents/ToJSOptions) | #### Returns diff --git a/docs/generated/devkit/updateJson.md b/docs/generated/devkit/updateJson.md index 45017333fd..24f2a5430a 100644 --- a/docs/generated/devkit/updateJson.md +++ b/docs/generated/devkit/updateJson.md @@ -13,12 +13,12 @@ Updates a JSON value to the file system tree #### Parameters -| Name | Type | Description | -| :--------- | :------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | File system tree | -| `path` | `string` | Path of JSON file in the Tree | -| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document | -| `options?` | [`JsonParseOptions`](../../devkit/documents/JsonParseOptions) & [`JsonSerializeOptions`](../../devkit/documents/JsonSerializeOptions) | Optional JSON Parse and Serialize Options | +| Name | Type | Description | +| :--------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | File system tree | +| `path` | `string` | Path of JSON file in the Tree | +| `updater` | (`value`: `T`) => `U` | Function that maps the current value of a JSON document to a new value to be written to the document | +| `options?` | [`JsonParseOptions`](/reference/core-api/devkit/documents/JsonParseOptions) & [`JsonSerializeOptions`](/reference/core-api/devkit/documents/JsonSerializeOptions) | Optional JSON Parse and Serialize Options | #### Returns diff --git a/docs/generated/devkit/updateNxJson.md b/docs/generated/devkit/updateNxJson.md index 5170e4d32c..709f2687dc 100644 --- a/docs/generated/devkit/updateNxJson.md +++ b/docs/generated/devkit/updateNxJson.md @@ -6,10 +6,10 @@ Update nx.json #### Parameters -| Name | Type | -| :------- | :----------------------------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | -| `nxJson` | [`NxJsonConfiguration`](../../devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> | +| Name | Type | +| :------- | :------------------------------------------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | +| `nxJson` | [`NxJsonConfiguration`](/reference/core-api/devkit/documents/NxJsonConfiguration)\<`string`[] \| `"*"`\> | #### Returns diff --git a/docs/generated/devkit/updateProjectConfiguration.md b/docs/generated/devkit/updateProjectConfiguration.md index 7c799ded8e..085718d811 100644 --- a/docs/generated/devkit/updateProjectConfiguration.md +++ b/docs/generated/devkit/updateProjectConfiguration.md @@ -6,11 +6,11 @@ Updates the configuration of an existing project. #### Parameters -| Name | Type | Description | -| :--------------------- | :-------------------------------------------------------------------- | :---------------------------------------------------------------------- | -| `tree` | [`Tree`](../../devkit/documents/Tree) | the file system tree | -| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | -| `projectConfiguration` | [`ProjectConfiguration`](../../devkit/documents/ProjectConfiguration) | project configuration | +| Name | Type | Description | +| :--------------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree | +| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) | +| `projectConfiguration` | [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) | project configuration | #### Returns diff --git a/docs/generated/devkit/updateTsConfigsToJs.md b/docs/generated/devkit/updateTsConfigsToJs.md index 1d3a2d6f6d..62c94865df 100644 --- a/docs/generated/devkit/updateTsConfigsToJs.md +++ b/docs/generated/devkit/updateTsConfigsToJs.md @@ -4,11 +4,11 @@ #### Parameters -| Name | Type | -| :-------------------- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | -| `options` | `Object` | -| `options.projectRoot` | `string` | +| Name | Type | +| :-------------------- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | +| `options` | `Object` | +| `options.projectRoot` | `string` | #### Returns diff --git a/docs/generated/devkit/validateDependency.md b/docs/generated/devkit/validateDependency.md index 70719603fc..75ec553e1a 100644 --- a/docs/generated/devkit/validateDependency.md +++ b/docs/generated/devkit/validateDependency.md @@ -2,14 +2,14 @@ ▸ **validateDependency**(`dependency`, `ctx`): `void` -A function to validate dependencies in a [CreateDependencies](../../devkit/documents/CreateDependencies) function +A function to validate dependencies in a [CreateDependencies](/reference/core-api/devkit/documents/CreateDependencies) function #### Parameters -| Name | Type | -| :----------- | :------------------------------------------------------------------------------ | -| `dependency` | [`RawProjectGraphDependency`](../../devkit/documents/RawProjectGraphDependency) | -| `ctx` | [`CreateDependenciesContext`](../../devkit/documents/CreateDependenciesContext) | +| Name | Type | +| :----------- | :-------------------------------------------------------------------------------------------- | +| `dependency` | [`RawProjectGraphDependency`](/reference/core-api/devkit/documents/RawProjectGraphDependency) | +| `ctx` | [`CreateDependenciesContext`](/reference/core-api/devkit/documents/CreateDependenciesContext) | #### Returns diff --git a/docs/generated/devkit/visitNotIgnoredFiles.md b/docs/generated/devkit/visitNotIgnoredFiles.md index 59daf7b557..f77250a4dd 100644 --- a/docs/generated/devkit/visitNotIgnoredFiles.md +++ b/docs/generated/devkit/visitNotIgnoredFiles.md @@ -6,11 +6,11 @@ Utility to act on all files in a tree that are not ignored by git. #### Parameters -| Name | Type | -| :-------- | :------------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | -| `dirPath` | `string` | -| `visitor` | (`path`: `string`) => `void` | +| Name | Type | +| :-------- | :-------------------------------------------------- | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | +| `dirPath` | `string` | +| `visitor` | (`path`: `string`) => `void` | #### Returns diff --git a/docs/generated/devkit/writeJson.md b/docs/generated/devkit/writeJson.md index be993ba2f3..e59baa1526 100644 --- a/docs/generated/devkit/writeJson.md +++ b/docs/generated/devkit/writeJson.md @@ -12,12 +12,12 @@ Writes a JSON value to the file system tree #### Parameters -| Name | Type | Description | -| :--------- | :-------------------------------------------------------------------- | :------------------------------ | -| `tree` | [`Tree`](../../devkit/documents/Tree) | File system tree | -| `path` | `string` | Path of JSON file in the Tree | -| `value` | `T` | Serializable value to write | -| `options?` | [`JsonSerializeOptions`](../../devkit/documents/JsonSerializeOptions) | Optional JSON Serialize Options | +| Name | Type | Description | +| :--------- | :---------------------------------------------------------------------------------- | :------------------------------ | +| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | File system tree | +| `path` | `string` | Path of JSON file in the Tree | +| `value` | `T` | Serializable value to write | +| `options?` | [`JsonSerializeOptions`](/reference/core-api/devkit/documents/JsonSerializeOptions) | Optional JSON Serialize Options | #### Returns diff --git a/docs/generated/manifests/ci.json b/docs/generated/manifests/ci.json index b3c7ba908f..e9674f2fef 100644 --- a/docs/generated/manifests/ci.json +++ b/docs/generated/manifests/ci.json @@ -479,7 +479,7 @@ }, "/ci/recipes": { "id": "recipes", - "name": "Recipes", + "name": "Guides", "description": "Learn how to set up Nx Cloud for your workspace.", "mediaImage": "", "file": "", diff --git a/docs/generated/manifests/extending-nx.json b/docs/generated/manifests/extending-nx.json index d8a20e7998..c6fe5d4a3a 100644 --- a/docs/generated/manifests/extending-nx.json +++ b/docs/generated/manifests/extending-nx.json @@ -91,7 +91,7 @@ }, "/extending-nx/recipes": { "id": "recipes", - "name": "Recipes", + "name": "Guides", "description": "Focused instructions to complete a specific task", "mediaImage": "", "file": "", @@ -408,5 +408,164 @@ "isExternal": false, "path": "/extending-nx/recipes/task-running-lifecycle", "tags": ["running-tasks"] + }, + "/extending-nx/api": { + "id": "api", + "name": "API", + "description": "API references for extending Nx", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "nx-devkit", + "name": "Devkit", + "description": "Core utilities for building Nx plugins", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "generated/devkit/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/overview", + "tags": [] + }, + { + "id": "ngcli-adapter", + "name": "Ng CLI Adapter", + "description": "", + "mediaImage": "", + "file": "generated/devkit/ngcli_adapter/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/ngcli-adapter", + "tags": [] + } + ], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit", + "tags": [] + }, + { + "id": "plugin", + "name": "Nx Plugin", + "description": "Plugin package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/plugin/plugin", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/plugin/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/extending-nx/api/plugin", + "tags": [] + } + ], + "isExternal": false, + "path": "/extending-nx/api", + "tags": [] + }, + "/extending-nx/api/nx-devkit": { + "id": "nx-devkit", + "name": "Devkit", + "description": "Core utilities for building Nx plugins", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "generated/devkit/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/overview", + "tags": [] + }, + { + "id": "ngcli-adapter", + "name": "Ng CLI Adapter", + "description": "", + "mediaImage": "", + "file": "generated/devkit/ngcli_adapter/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/ngcli-adapter", + "tags": [] + } + ], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit", + "tags": [] + }, + "/extending-nx/api/nx-devkit/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "generated/devkit/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/overview", + "tags": [] + }, + "/extending-nx/api/nx-devkit/ngcli-adapter": { + "id": "ngcli-adapter", + "name": "Ng CLI Adapter", + "description": "", + "mediaImage": "", + "file": "generated/devkit/ngcli_adapter/README", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/nx-devkit/ngcli-adapter", + "tags": [] + }, + "/extending-nx/api/plugin": { + "id": "plugin", + "name": "Nx Plugin", + "description": "Plugin package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/plugin/plugin", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/plugin/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/extending-nx/api/plugin", + "tags": [] + }, + "/extending-nx/api/plugin/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/plugin/plugin", + "itemList": [], + "isExternal": false, + "path": "/extending-nx/api/plugin/overview", + "tags": [] } } diff --git a/docs/generated/manifests/menus.json b/docs/generated/manifests/menus.json index 0e2c21080e..a7328ba2a0 100644 --- a/docs/generated/manifests/menus.json +++ b/docs/generated/manifests/menus.json @@ -33,7 +33,7 @@ "disableCollapsible": false }, { - "name": "Editor Setup", + "name": "Editor Integration", "path": "/getting-started/editor-setup", "id": "editor-setup", "isExternal": false, @@ -84,111 +84,6 @@ ], "disableCollapsible": false }, - { - "name": "Intro to Nx", - "path": "/getting-started/intro", - "id": "intro", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Installation", - "path": "/getting-started/installation", - "id": "installation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Why Nx?", - "path": "/getting-started/why-nx", - "id": "why-nx", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Editor Setup", - "path": "/getting-started/editor-setup", - "id": "editor-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tutorials", - "path": "/getting-started/tutorials", - "id": "tutorials", - "isExternal": false, - "children": [ - { - "name": "TypeScript Monorepo", - "path": "/getting-started/tutorials/typescript-packages-tutorial", - "id": "typescript-packages-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Monorepo", - "path": "/getting-started/tutorials/react-monorepo-tutorial", - "id": "react-monorepo-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular Monorepo", - "path": "/getting-started/tutorials/angular-monorepo-tutorial", - "id": "angular-monorepo-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Gradle Monorepo", - "path": "/getting-started/tutorials/gradle-tutorial", - "id": "gradle-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "TypeScript Monorepo", - "path": "/getting-started/tutorials/typescript-packages-tutorial", - "id": "typescript-packages-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Monorepo", - "path": "/getting-started/tutorials/react-monorepo-tutorial", - "id": "react-monorepo-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular Monorepo", - "path": "/getting-started/tutorials/angular-monorepo-tutorial", - "id": "angular-monorepo-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Gradle Monorepo", - "path": "/getting-started/tutorials/gradle-tutorial", - "id": "gradle-tutorial", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Features", "path": "/features", @@ -328,709 +223,7 @@ "disableCollapsible": false }, { - "name": "Run Tasks", - "path": "/features/run-tasks", - "id": "run-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cache Task Results", - "path": "/features/cache-task-results", - "id": "cache-task-results", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enhance Your LLM", - "path": "/features/enhance-AI", - "id": "enhance-AI", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Explore Your Workspace", - "path": "/features/explore-graph", - "id": "explore-graph", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Generate Code", - "path": "/features/generate-code", - "id": "generate-code", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Maintain TypeScript Monorepos", - "path": "/features/maintain-ts-monorepos", - "id": "maintain-ts-monorepos", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automate Updating Dependencies", - "path": "/features/automate-updating-dependencies", - "id": "automate-updating-dependencies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enforce Module Boundaries", - "path": "/features/enforce-module-boundaries", - "id": "enforce-module-boundaries", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Manage Releases", - "path": "/features/manage-releases", - "id": "manage-releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "CI Features", - "path": "/features/ci-features", - "id": "ci-features", - "isExternal": false, - "children": [ - { - "name": "Run Only Tasks Affected by a PR", - "path": "/ci/features/affected", - "id": "affected", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Remote Caching (Nx Replay)", - "path": "/ci/features/remote-cache", - "id": "remote-cache", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Distribute Task Execution (Nx Agents)", - "path": "/ci/features/distribute-task-execution", - "id": "distribute-task-execution", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dynamically Allocate Agents", - "path": "/ci/features/dynamic-agents", - "id": "dynamic-agents", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automatically Split E2E Tasks", - "path": "/ci/features/split-e2e-tasks", - "id": "split-e2e-tasks", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Identify and Re-run Flaky Tasks", - "path": "/ci/features/flaky-tasks", - "id": "flaky-tasks", - "isExternal": true, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Run Only Tasks Affected by a PR", - "path": "/ci/features/affected", - "id": "affected", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Remote Caching (Nx Replay)", - "path": "/ci/features/remote-cache", - "id": "remote-cache", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Distribute Task Execution (Nx Agents)", - "path": "/ci/features/distribute-task-execution", - "id": "distribute-task-execution", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dynamically Allocate Agents", - "path": "/ci/features/dynamic-agents", - "id": "dynamic-agents", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automatically Split E2E Tasks", - "path": "/ci/features/split-e2e-tasks", - "id": "split-e2e-tasks", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Identify and Re-run Flaky Tasks", - "path": "/ci/features/flaky-tasks", - "id": "flaky-tasks", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Concepts", - "path": "/concepts", - "id": "concepts", - "isExternal": false, - "children": [ - { - "name": "Mental Model", - "path": "/concepts/mental-model", - "id": "mental-model", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How Caching Works", - "path": "/concepts/how-caching-works", - "id": "how-caching-works", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "What is a Task Pipeline", - "path": "/concepts/task-pipeline-configuration", - "id": "task-pipeline-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "What Are Nx Plugins", - "path": "/concepts/nx-plugins", - "id": "nx-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Inferred Tasks", - "path": "/concepts/inferred-tasks", - "id": "inferred-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Types of Configuration", - "path": "/concepts/types-of-configuration", - "id": "types-of-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Executors and Configurations", - "path": "/concepts/executors-and-configurations", - "id": "executors-and-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Common Tasks", - "path": "/concepts/common-tasks", - "id": "common-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Daemon", - "path": "/concepts/nx-daemon", - "id": "nx-daemon", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Sync Generators", - "path": "/concepts/sync-generators", - "id": "sync-generators", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "TypeScript Project Linking", - "path": "/concepts/typescript-project-linking", - "id": "typescript-project-linking", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Buildable and Publishable Libraries", - "path": "/concepts/buildable-and-publishable-libraries", - "id": "buildable-and-publishable-libraries", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Module Federation", - "path": "/concepts/module-federation", - "id": "module-federation", - "isExternal": false, - "children": [ - { - "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx", - "id": "module-federation-and-nx", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "id": "nx-module-federation-technical-overview", - "isExternal": false, - "children": [], - "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": "Manage Library Versions with Module Federation", - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "id": "manage-library-versions-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Organizational Decisions", - "path": "/concepts/decisions", - "id": "decisions", - "isExternal": false, - "children": [ - { - "name": "Overview", - "path": "/concepts/decisions/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Monorepos", - "path": "/concepts/decisions/why-monorepos", - "id": "why-monorepos", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dependency Management", - "path": "/concepts/decisions/dependency-management", - "id": "dependency-management", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Code Ownership", - "path": "/concepts/decisions/code-ownership", - "id": "code-ownership", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Size", - "path": "/concepts/decisions/project-size", - "id": "project-size", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Dependency Rules", - "path": "/concepts/decisions/project-dependency-rules", - "id": "project-dependency-rules", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Folder Structure", - "path": "/concepts/decisions/folder-structure", - "id": "folder-structure", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Mental Model", - "path": "/concepts/mental-model", - "id": "mental-model", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How Caching Works", - "path": "/concepts/how-caching-works", - "id": "how-caching-works", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "What is a Task Pipeline", - "path": "/concepts/task-pipeline-configuration", - "id": "task-pipeline-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "What Are Nx Plugins", - "path": "/concepts/nx-plugins", - "id": "nx-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Inferred Tasks", - "path": "/concepts/inferred-tasks", - "id": "inferred-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Types of Configuration", - "path": "/concepts/types-of-configuration", - "id": "types-of-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Executors and Configurations", - "path": "/concepts/executors-and-configurations", - "id": "executors-and-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Common Tasks", - "path": "/concepts/common-tasks", - "id": "common-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Daemon", - "path": "/concepts/nx-daemon", - "id": "nx-daemon", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Sync Generators", - "path": "/concepts/sync-generators", - "id": "sync-generators", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "TypeScript Project Linking", - "path": "/concepts/typescript-project-linking", - "id": "typescript-project-linking", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Buildable and Publishable Libraries", - "path": "/concepts/buildable-and-publishable-libraries", - "id": "buildable-and-publishable-libraries", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Module Federation", - "path": "/concepts/module-federation", - "id": "module-federation", - "isExternal": false, - "children": [ - { - "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx", - "id": "module-federation-and-nx", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "id": "nx-module-federation-technical-overview", - "isExternal": false, - "children": [], - "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": "Manage Library Versions with Module Federation", - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "id": "manage-library-versions-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx", - "id": "module-federation-and-nx", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "id": "nx-module-federation-technical-overview", - "isExternal": false, - "children": [], - "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": "Manage Library Versions with Module Federation", - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "id": "manage-library-versions-with-module-federation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Organizational Decisions", - "path": "/concepts/decisions", - "id": "decisions", - "isExternal": false, - "children": [ - { - "name": "Overview", - "path": "/concepts/decisions/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Monorepos", - "path": "/concepts/decisions/why-monorepos", - "id": "why-monorepos", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dependency Management", - "path": "/concepts/decisions/dependency-management", - "id": "dependency-management", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Code Ownership", - "path": "/concepts/decisions/code-ownership", - "id": "code-ownership", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Size", - "path": "/concepts/decisions/project-size", - "id": "project-size", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Dependency Rules", - "path": "/concepts/decisions/project-dependency-rules", - "id": "project-dependency-rules", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Folder Structure", - "path": "/concepts/decisions/folder-structure", - "id": "folder-structure", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Overview", - "path": "/concepts/decisions/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Monorepos", - "path": "/concepts/decisions/why-monorepos", - "id": "why-monorepos", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dependency Management", - "path": "/concepts/decisions/dependency-management", - "id": "dependency-management", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Code Ownership", - "path": "/concepts/decisions/code-ownership", - "id": "code-ownership", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Size", - "path": "/concepts/decisions/project-size", - "id": "project-size", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Dependency Rules", - "path": "/concepts/decisions/project-dependency-rules", - "id": "project-dependency-rules", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Folder Structure", - "path": "/concepts/decisions/folder-structure", - "id": "folder-structure", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Recipes", + "name": "Core Guides", "path": "/recipes", "id": "recipes", "isExternal": false, @@ -1367,39 +560,6 @@ ], "disableCollapsible": false }, - { - "name": "Module Federation", - "path": "/recipes/module-federation", - "id": "module-federation", - "isExternal": false, - "children": [ - { - "name": "How to create a Module Federation Host Application", - "path": "/recipes/module-federation/create-a-host", - "id": "create-a-host", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to create a Module Federation Remote Application", - "path": "/recipes/module-federation/create-a-remote", - "id": "create-a-remote", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to Federate a Module", - "path": "/recipes/module-federation/federate-a-module", - "id": "federate-a-module", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, { "name": "Nx Console", "path": "/recipes/nx-console", @@ -1465,481 +625,6 @@ ], "disableCollapsible": false }, - { - "name": "React", - "path": "/recipes/react", - "id": "react", - "isExternal": false, - "children": [ - { - "name": "React Native with Nx", - "path": "/recipes/react/react-native", - "id": "react-native", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Remix with Nx", - "path": "/recipes/react/remix", - "id": "remix", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Router with Nx", - "path": "/recipes/react/react-router", - "id": "react-router", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Environment Variables in React", - "path": "/recipes/react/use-environment-variables-in-react", - "id": "use-environment-variables-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Tailwind CSS in React", - "path": "/recipes/react/using-tailwind-css-in-react", - "id": "using-tailwind-css-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Adding Images, Fonts, and Files", - "path": "/recipes/react/adding-assets-react", - "id": "adding-assets-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup Module Federation with SSR for React", - "path": "/recipes/react/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying Next.js applications to Vercel", - "path": "/recipes/react/deploy-nextjs-to-vercel", - "id": "deploy-nextjs-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Compiler with Nx", - "path": "/recipes/react/react-compiler", - "id": "react-compiler", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Angular", - "path": "/recipes/angular", - "id": "angular", - "isExternal": false, - "children": [ - { - "name": "Angular Rspack", - "path": "/recipes/angular/rspack", - "id": "rspack", - "isExternal": false, - "children": [ - { - "name": "Introduction", - "path": "/recipes/angular/rspack/introduction", - "id": "introduction", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started", - "id": "getting-started", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate from Angular Webpack", - "path": "/recipes/angular/rspack/migrate-from-webpack", - "id": "migrate-from-webpack", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations", - "id": "handling-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization", - "id": "internationalization", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Migration", - "path": "/recipes/angular/migration", - "id": "migration", - "isExternal": false, - "children": [ - { - "name": "Migrating from Angular CLI", - "path": "/recipes/angular/migration/angular", - "id": "angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrating From Multiple Angular CLI Repos", - "path": "/recipes/angular/migration/angular-multiple", - "id": "angular-multiple", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Use Environment Variables in Angular", - "path": "/recipes/angular/use-environment-variables-in-angular", - "id": "use-environment-variables-in-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Tailwind CSS with Angular projects", - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "id": "using-tailwind-css-with-angular-projects", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup Module Federation with SSR for Angular", - "path": "/recipes/angular/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "id": "dynamic-module-federation-with-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup incremental builds for Angular applications", - "path": "/recipes/angular/setup-incremental-builds-angular", - "id": "setup-incremental-builds-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Node", - "path": "/recipes/node", - "id": "node", - "isExternal": false, - "children": [ - { - "name": "Deploying a Node App to Fly.io", - "path": "/recipes/node/node-server-fly-io", - "id": "node-server-fly-io", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Add and Deploy Netlify Edge Functions with Node", - "path": "/recipes/node/node-serverless-functions-netlify", - "id": "node-serverless-functions-netlify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying AWS lambda in Node.js (deprecated)", - "path": "/recipes/node/node-aws-lambda", - "id": "node-aws-lambda", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set Up Application Proxies", - "path": "/recipes/node/application-proxies", - "id": "application-proxies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Wait for Tasks to Finish", - "path": "/recipes/node/wait-for-tasks", - "id": "wait-for-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Storybook", - "path": "/recipes/storybook", - "id": "storybook", - "isExternal": false, - "children": [ - { - "name": "Set up Storybook for React Projects", - "path": "/recipes/storybook/overview-react", - "id": "overview-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Angular Projects", - "path": "/recipes/storybook/overview-angular", - "id": "overview-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Vue Projects", - "path": "/recipes/storybook/overview-vue", - "id": "overview-vue", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Storybook on Nx", - "path": "/recipes/storybook/configuring-storybook", - "id": "configuring-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance for all projects", - "path": "/recipes/storybook/one-storybook-for-all", - "id": "one-storybook-for-all", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One Storybook instance per scope", - "path": "/recipes/storybook/one-storybook-per-scope", - "id": "one-storybook-per-scope", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance using Storybook Composition", - "path": "/recipes/storybook/one-storybook-with-composition", - "id": "one-storybook-with-composition", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to configure Webpack and Vite for Storybook", - "path": "/recipes/storybook/custom-builder-configs", - "id": "custom-builder-configs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Interaction Tests with Nx", - "path": "/recipes/storybook/storybook-interaction-tests", - "id": "storybook-interaction-tests", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Upgrading Storybook using the Storybook CLI", - "path": "/recipes/storybook/upgrading-storybook", - "id": "upgrading-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Composition with Nx", - "path": "/recipes/storybook/storybook-composition-setup", - "id": "storybook-composition-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Set up Compodoc for Storybook on Nx", - "path": "/recipes/storybook/angular-storybook-compodoc", - "id": "angular-storybook-compodoc", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Configuring styles and preprocessor options", - "path": "/recipes/storybook/angular-configuring-styles", - "id": "angular-configuring-styles", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Cypress", - "path": "/recipes/cypress", - "id": "cypress", - "isExternal": false, - "children": [ - { - "name": "Component Testing", - "path": "/recipes/cypress/cypress-component-testing", - "id": "cypress-component-testing", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using setupNodeEvents with Cypress preset", - "path": "/recipes/cypress/cypress-setup-node-events", - "id": "cypress-setup-node-events", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cypress v11 Migration Guide", - "path": "/recipes/cypress/cypress-v11-migration", - "id": "cypress-v11-migration", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Next", - "path": "/recipes/next", - "id": "next", - "isExternal": false, - "children": [ - { - "name": "How to configure Next.js plugins", - "path": "/recipes/next/next-config-setup", - "id": "next-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Nuxt", - "path": "/recipes/nuxt", - "id": "nuxt", - "isExternal": false, - "children": [ - { - "name": "Deploying Nuxt applications to Vercel", - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "id": "deploy-nuxt-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Vite", - "path": "/recipes/vite", - "id": "vite", - "isExternal": false, - "children": [ - { - "name": "Configure Vite on your Nx workspace", - "path": "/recipes/vite/configure-vite", - "id": "configure-vite", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Webpack", - "path": "/recipes/webpack", - "id": "webpack", - "isExternal": false, - "children": [ - { - "name": "How to configure Webpack in your Nx workspace", - "path": "/recipes/webpack/webpack-config-setup", - "id": "webpack-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Webpack plugins", - "path": "/recipes/webpack/webpack-plugins", - "id": "webpack-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, { "name": "Enforce Module Boundaries", "path": "/recipes/enforce-module-boundaries", @@ -1995,46 +680,6 @@ "children": [], "disableCollapsible": false }, - { - "name": "Configuring ESLint with Typescript", - "path": "/recipes/tips-n-tricks/eslint", - "id": "eslint", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Switch to Workspaces and TS Project References", - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "id": "switch-to-workspaces-project-references", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Typescript Batch Mode", - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "id": "enable-tsc-batch-mode", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Secondary Entrypoints for Typescript Packages", - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "id": "define-secondary-entrypoints", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Compile Typescript Packages to Multiple Formats", - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "id": "compile-multiple-formats", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Keep Nx Versions in Sync", "path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync", @@ -2091,14 +736,6 @@ "children": [], "disableCollapsible": false }, - { - "name": "Use JavaScript instead TypeScript", - "path": "/recipes/tips-n-tricks/js-and-ts", - "id": "js-and-ts", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Altering Migration Process", "path": "/recipes/tips-n-tricks/advanced-update", @@ -2114,11 +751,173 @@ "isExternal": false, "children": [], "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Core Concepts", + "path": "/concepts", + "id": "concepts", + "isExternal": false, + "children": [ + { + "name": "Mental Model", + "path": "/concepts/mental-model", + "id": "mental-model", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "How Caching Works", + "path": "/concepts/how-caching-works", + "id": "how-caching-works", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "What is a Task Pipeline", + "path": "/concepts/task-pipeline-configuration", + "id": "task-pipeline-configuration", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "What Are Nx Plugins", + "path": "/concepts/nx-plugins", + "id": "nx-plugins", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Inferred Tasks", + "path": "/concepts/inferred-tasks", + "id": "inferred-tasks", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Types of Configuration", + "path": "/concepts/types-of-configuration", + "id": "types-of-configuration", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Executors and Configurations", + "path": "/concepts/executors-and-configurations", + "id": "executors-and-configurations", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Common Tasks", + "path": "/concepts/common-tasks", + "id": "common-tasks", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Nx Daemon", + "path": "/concepts/nx-daemon", + "id": "nx-daemon", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Sync Generators", + "path": "/concepts/sync-generators", + "id": "sync-generators", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "TypeScript Project Linking", + "path": "/concepts/typescript-project-linking", + "id": "typescript-project-linking", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Buildable and Publishable Libraries", + "path": "/concepts/buildable-and-publishable-libraries", + "id": "buildable-and-publishable-libraries", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Organizational Decisions", + "path": "/concepts/decisions", + "id": "decisions", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/concepts/decisions/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false }, { - "name": "Switching to ESLint's flat config format", - "path": "/recipes/tips-n-tricks/flat-config", - "id": "flat-config", + "name": "Monorepos", + "path": "/concepts/decisions/why-monorepos", + "id": "why-monorepos", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Dependency Management", + "path": "/concepts/decisions/dependency-management", + "id": "dependency-management", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Code Ownership", + "path": "/concepts/decisions/code-ownership", + "id": "code-ownership", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Project Size", + "path": "/concepts/decisions/project-size", + "id": "project-size", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Project Dependency Rules", + "path": "/concepts/decisions/project-dependency-rules", + "id": "project-dependency-rules", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Folder Structure", + "path": "/concepts/decisions/folder-structure", + "id": "folder-structure", "isExternal": false, "children": [], "disableCollapsible": false @@ -2130,2090 +929,4175 @@ "disableCollapsible": false }, { - "name": "Installation", - "path": "/recipes/installation", - "id": "installation", + "name": "Technologies", + "path": "/technologies", + "id": "technologies", "isExternal": false, "children": [ { - "name": "Install Nx in a Non-Javascript Repo", - "path": "/recipes/installation/install-non-javascript", - "id": "install-non-javascript", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Update Your Global Nx Installation", - "path": "/recipes/installation/update-global-installation", - "id": "update-global-installation", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Install Nx in a Non-Javascript Repo", - "path": "/recipes/installation/install-non-javascript", - "id": "install-non-javascript", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Update Your Global Nx Installation", - "path": "/recipes/installation/update-global-installation", - "id": "update-global-installation", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tasks & Caching", - "path": "/recipes/running-tasks", - "id": "running-tasks", - "isExternal": false, - "children": [ - { - "name": "Configure Inputs for Task Caching", - "path": "/recipes/running-tasks/configure-inputs", - "id": "configure-inputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Outputs for Task Caching", - "path": "/recipes/running-tasks/configure-outputs", - "id": "configure-outputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define a Task Pipeline", - "path": "/recipes/running-tasks/defining-task-pipeline", - "id": "defining-task-pipeline", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use the Terminal UI", - "path": "/recipes/running-tasks/terminal-ui", - "id": "terminal-ui", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Custom Commands", - "path": "/recipes/running-tasks/run-commands-executor", - "id": "run-commands-executor", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Pass Args to Commands", - "path": "/recipes/running-tasks/pass-args-to-commands", - "id": "pass-args-to-commands", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Tasks in Parallel", - "path": "/recipes/running-tasks/run-tasks-in-parallel", - "id": "run-tasks-in-parallel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Root-Level NPM Scripts with Nx", - "path": "/recipes/running-tasks/root-level-scripts", - "id": "root-level-scripts", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Workspace Watching", - "path": "/recipes/running-tasks/workspace-watching", - "id": "workspace-watching", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Reduce Repetitive Configuration", - "path": "/recipes/running-tasks/reduce-repetitive-configuration", - "id": "reduce-repetitive-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Change Cache Location", - "path": "/recipes/running-tasks/change-cache-location", - "id": "change-cache-location", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Skip Task Caching", - "path": "/recipes/running-tasks/skipping-cache", - "id": "skipping-cache", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate to Inferred Tasks (Project Crystal)", - "path": "/recipes/running-tasks/convert-to-inferred", - "id": "convert-to-inferred", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Self-Host the Remote Cache", - "path": "/recipes/running-tasks/self-hosted-caching", - "id": "self-hosted-caching", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Configure Inputs for Task Caching", - "path": "/recipes/running-tasks/configure-inputs", - "id": "configure-inputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Outputs for Task Caching", - "path": "/recipes/running-tasks/configure-outputs", - "id": "configure-outputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define a Task Pipeline", - "path": "/recipes/running-tasks/defining-task-pipeline", - "id": "defining-task-pipeline", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use the Terminal UI", - "path": "/recipes/running-tasks/terminal-ui", - "id": "terminal-ui", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Custom Commands", - "path": "/recipes/running-tasks/run-commands-executor", - "id": "run-commands-executor", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Pass Args to Commands", - "path": "/recipes/running-tasks/pass-args-to-commands", - "id": "pass-args-to-commands", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Tasks in Parallel", - "path": "/recipes/running-tasks/run-tasks-in-parallel", - "id": "run-tasks-in-parallel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Root-Level NPM Scripts with Nx", - "path": "/recipes/running-tasks/root-level-scripts", - "id": "root-level-scripts", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Workspace Watching", - "path": "/recipes/running-tasks/workspace-watching", - "id": "workspace-watching", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Reduce Repetitive Configuration", - "path": "/recipes/running-tasks/reduce-repetitive-configuration", - "id": "reduce-repetitive-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Change Cache Location", - "path": "/recipes/running-tasks/change-cache-location", - "id": "change-cache-location", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Skip Task Caching", - "path": "/recipes/running-tasks/skipping-cache", - "id": "skipping-cache", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate to Inferred Tasks (Project Crystal)", - "path": "/recipes/running-tasks/convert-to-inferred", - "id": "convert-to-inferred", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Self-Host the Remote Cache", - "path": "/recipes/running-tasks/self-hosted-caching", - "id": "self-hosted-caching", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Adopting Nx", - "path": "/recipes/adopting-nx", - "id": "adopting-nx", - "isExternal": false, - "children": [ - { - "name": "NPM/Yarn/PNPM workspaces", - "path": "/recipes/adopting-nx/adding-to-monorepo", - "id": "adding-to-monorepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate From Turborepo", - "path": "/recipes/adopting-nx/from-turborepo", - "id": "from-turborepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Add to any Project", - "path": "/recipes/adopting-nx/adding-to-existing-project", - "id": "adding-to-existing-project", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Import an Existing Project into an Nx Workspace", - "path": "/recipes/adopting-nx/import-project", - "id": "import-project", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Preserving Git Histories", - "path": "/recipes/adopting-nx/preserving-git-histories", - "id": "preserving-git-histories", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Manual migration", - "path": "/recipes/adopting-nx/manual", - "id": "manual", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "NPM/Yarn/PNPM workspaces", - "path": "/recipes/adopting-nx/adding-to-monorepo", - "id": "adding-to-monorepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate From Turborepo", - "path": "/recipes/adopting-nx/from-turborepo", - "id": "from-turborepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Add to any Project", - "path": "/recipes/adopting-nx/adding-to-existing-project", - "id": "adding-to-existing-project", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Import an Existing Project into an Nx Workspace", - "path": "/recipes/adopting-nx/import-project", - "id": "import-project", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Preserving Git Histories", - "path": "/recipes/adopting-nx/preserving-git-histories", - "id": "preserving-git-histories", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Manual migration", - "path": "/recipes/adopting-nx/manual", - "id": "manual", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Release", - "path": "/recipes/nx-release", - "id": "nx-release", - "isExternal": false, - "children": [ - { - "name": "Get Started with Nx Release", - "path": "/recipes/nx-release/get-started-with-nx-release", - "id": "get-started-with-nx-release", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Release Projects Independently", - "path": "/recipes/nx-release/release-projects-independently", - "id": "release-projects-independently", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Updating Version References in Manifest Files (e.g. package.json)", - "path": "/recipes/nx-release/updating-version-references", - "id": "updating-version-references", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automatically Version with Conventional Commits", - "path": "/recipes/nx-release/automatically-version-with-conventional-commits", - "id": "automatically-version-with-conventional-commits", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Customize Conventional Commit Types", - "path": "/recipes/nx-release/customize-conventional-commit-types", - "id": "customize-conventional-commit-types", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "File Based Versioning (Version Plans)", - "path": "/recipes/nx-release/file-based-versioning-version-plans", - "id": "file-based-versioning-version-plans", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Custom Registries", - "path": "/recipes/nx-release/configure-custom-registries", - "id": "configure-custom-registries", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish in CI/CD", - "path": "/recipes/nx-release/publish-in-ci-cd", - "id": "publish-in-ci-cd", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automate GitHub Releases", - "path": "/recipes/nx-release/automate-github-releases", - "id": "automate-github-releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automate GitLab Releases", - "path": "/recipes/nx-release/automate-gitlab-releases", - "id": "automate-gitlab-releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish Rust Crates", - "path": "/recipes/nx-release/publish-rust-crates", - "id": "publish-rust-crates", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Update Your Local Registry Setup to use Nx Release", - "path": "/recipes/nx-release/update-local-registry-setup", - "id": "update-local-registry-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Changelog Format", - "path": "/recipes/nx-release/configure-changelog-format", - "id": "configure-changelog-format", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Build Before Versioning", - "path": "/recipes/nx-release/build-before-versioning", - "id": "build-before-versioning", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Version Prefix for Dependency Versions", - "path": "/recipes/nx-release/configuration-version-prefix", - "id": "configuration-version-prefix", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Get Started with Nx Release", - "path": "/recipes/nx-release/get-started-with-nx-release", - "id": "get-started-with-nx-release", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Release Projects Independently", - "path": "/recipes/nx-release/release-projects-independently", - "id": "release-projects-independently", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Updating Version References in Manifest Files (e.g. package.json)", - "path": "/recipes/nx-release/updating-version-references", - "id": "updating-version-references", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automatically Version with Conventional Commits", - "path": "/recipes/nx-release/automatically-version-with-conventional-commits", - "id": "automatically-version-with-conventional-commits", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Customize Conventional Commit Types", - "path": "/recipes/nx-release/customize-conventional-commit-types", - "id": "customize-conventional-commit-types", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "File Based Versioning (Version Plans)", - "path": "/recipes/nx-release/file-based-versioning-version-plans", - "id": "file-based-versioning-version-plans", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Custom Registries", - "path": "/recipes/nx-release/configure-custom-registries", - "id": "configure-custom-registries", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish in CI/CD", - "path": "/recipes/nx-release/publish-in-ci-cd", - "id": "publish-in-ci-cd", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automate GitHub Releases", - "path": "/recipes/nx-release/automate-github-releases", - "id": "automate-github-releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automate GitLab Releases", - "path": "/recipes/nx-release/automate-gitlab-releases", - "id": "automate-gitlab-releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish Rust Crates", - "path": "/recipes/nx-release/publish-rust-crates", - "id": "publish-rust-crates", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Update Your Local Registry Setup to use Nx Release", - "path": "/recipes/nx-release/update-local-registry-setup", - "id": "update-local-registry-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configure Changelog Format", - "path": "/recipes/nx-release/configure-changelog-format", - "id": "configure-changelog-format", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Build Before Versioning", - "path": "/recipes/nx-release/build-before-versioning", - "id": "build-before-versioning", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Version Prefix for Dependency Versions", - "path": "/recipes/nx-release/configuration-version-prefix", - "id": "configuration-version-prefix", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Module Federation", - "path": "/recipes/module-federation", - "id": "module-federation", - "isExternal": false, - "children": [ - { - "name": "How to create a Module Federation Host Application", - "path": "/recipes/module-federation/create-a-host", - "id": "create-a-host", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to create a Module Federation Remote Application", - "path": "/recipes/module-federation/create-a-remote", - "id": "create-a-remote", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to Federate a Module", - "path": "/recipes/module-federation/federate-a-module", - "id": "federate-a-module", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "How to create a Module Federation Host Application", - "path": "/recipes/module-federation/create-a-host", - "id": "create-a-host", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to create a Module Federation Remote Application", - "path": "/recipes/module-federation/create-a-remote", - "id": "create-a-remote", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to Federate a Module", - "path": "/recipes/module-federation/federate-a-module", - "id": "federate-a-module", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Console", - "path": "/recipes/nx-console", - "id": "nx-console", - "isExternal": false, - "children": [ - { - "name": "Telemetry", - "path": "/recipes/nx-console/console-telemetry", - "id": "console-telemetry", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Details View", - "path": "/recipes/nx-console/console-project-details", - "id": "console-project-details", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Generate Command", - "path": "/recipes/nx-console/console-generate-command", - "id": "console-generate-command", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Command", - "path": "/recipes/nx-console/console-run-command", - "id": "console-run-command", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Cloud Integration", - "path": "/recipes/nx-console/console-nx-cloud", - "id": "console-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate UI", - "path": "/recipes/nx-console/console-migrate-ui", - "id": "console-migrate-ui", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Troubleshooting", - "path": "/recipes/nx-console/console-troubleshooting", - "id": "console-troubleshooting", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Telemetry", - "path": "/recipes/nx-console/console-telemetry", - "id": "console-telemetry", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Details View", - "path": "/recipes/nx-console/console-project-details", - "id": "console-project-details", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Generate Command", - "path": "/recipes/nx-console/console-generate-command", - "id": "console-generate-command", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Command", - "path": "/recipes/nx-console/console-run-command", - "id": "console-run-command", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Cloud Integration", - "path": "/recipes/nx-console/console-nx-cloud", - "id": "console-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate UI", - "path": "/recipes/nx-console/console-migrate-ui", - "id": "console-migrate-ui", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Troubleshoot Nx Console Issues", - "path": "/recipes/nx-console/console-troubleshooting", - "id": "console-troubleshooting", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React", - "path": "/recipes/react", - "id": "react", - "isExternal": false, - "children": [ - { - "name": "React Native with Nx", - "path": "/recipes/react/react-native", - "id": "react-native", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Remix with Nx", - "path": "/recipes/react/remix", - "id": "remix", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Router with Nx", - "path": "/recipes/react/react-router", - "id": "react-router", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Environment Variables in React", - "path": "/recipes/react/use-environment-variables-in-react", - "id": "use-environment-variables-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Tailwind CSS in React", - "path": "/recipes/react/using-tailwind-css-in-react", - "id": "using-tailwind-css-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Adding Images, Fonts, and Files", - "path": "/recipes/react/adding-assets-react", - "id": "adding-assets-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup Module Federation with SSR for React", - "path": "/recipes/react/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying Next.js applications to Vercel", - "path": "/recipes/react/deploy-nextjs-to-vercel", - "id": "deploy-nextjs-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Compiler with Nx", - "path": "/recipes/react/react-compiler", - "id": "react-compiler", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "React Native with Nx", - "path": "/recipes/react/react-native", - "id": "react-native", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Remix with Nx", - "path": "/recipes/react/remix", - "id": "remix", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Router with Nx", - "path": "/recipes/react/react-router", - "id": "react-router", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Environment Variables in React", - "path": "/recipes/react/use-environment-variables-in-react", - "id": "use-environment-variables-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Tailwind CSS in React", - "path": "/recipes/react/using-tailwind-css-in-react", - "id": "using-tailwind-css-in-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Adding Images, Fonts, and Files", - "path": "/recipes/react/adding-assets-react", - "id": "adding-assets-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup Module Federation with SSR for React", - "path": "/recipes/react/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying Next.js applications to Vercel", - "path": "/recipes/react/deploy-nextjs-to-vercel", - "id": "deploy-nextjs-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "React Compiler with Nx", - "path": "/recipes/react/react-compiler", - "id": "react-compiler", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular", - "path": "/recipes/angular", - "id": "angular", - "isExternal": false, - "children": [ - { - "name": "Angular Rspack", - "path": "/recipes/angular/rspack", - "id": "rspack", + "name": "TypeScript", + "path": "/technologies/typescript", + "id": "typescript", "isExternal": false, "children": [ { "name": "Introduction", - "path": "/recipes/angular/rspack/introduction", + "path": "/technologies/typescript/introduction", "id": "introduction", "isExternal": false, "children": [], "disableCollapsible": false }, { - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started", - "id": "getting-started", + "name": "Guides", + "path": "/technologies/typescript/recipes", + "id": "recipes", "isExternal": false, - "children": [], + "children": [ + { + "name": "Switch to Workspaces and TS Project References", + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references", + "id": "switch-to-workspaces-project-references", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Enable Typescript Batch Mode", + "path": "/technologies/typescript/recipes/enable-tsc-batch-mode", + "id": "enable-tsc-batch-mode", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Define Secondary Entrypoints for Typescript Packages", + "path": "/technologies/typescript/recipes/define-secondary-entrypoints", + "id": "define-secondary-entrypoints", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Compile Typescript Packages to Multiple Formats", + "path": "/technologies/typescript/recipes/compile-multiple-formats", + "id": "compile-multiple-formats", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Use JavaScript instead TypeScript", + "path": "/technologies/typescript/recipes/js-and-ts", + "id": "js-and-ts", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Migrate from Angular Webpack", - "path": "/recipes/angular/rspack/migrate-from-webpack", - "id": "migrate-from-webpack", + "name": "API", + "path": "/technologies/typescript/api", + "id": "api", "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations", - "id": "handling-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization", - "id": "internationalization", - "isExternal": false, - "children": [], + "children": [ + { + "id": "executors", + "path": "/technologies/typescript/api/executors", + "name": "executors", + "children": [ + { + "id": "tsc", + "path": "/technologies/typescript/api/executors/tsc", + "name": "tsc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "swc", + "path": "/technologies/typescript/api/executors/swc", + "name": "swc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "node", + "path": "/technologies/typescript/api/executors/node", + "name": "node", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "release-publish", + "path": "/technologies/typescript/api/executors/release-publish", + "name": "release-publish", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "verdaccio", + "path": "/technologies/typescript/api/executors/verdaccio", + "name": "verdaccio", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/typescript/api/generators", + "name": "generators", + "children": [ + { + "id": "library", + "path": "/technologies/typescript/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/typescript/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-swc", + "path": "/technologies/typescript/api/generators/convert-to-swc", + "name": "convert-to-swc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "release-version", + "path": "/technologies/typescript/api/generators/release-version", + "name": "release-version", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-verdaccio", + "path": "/technologies/typescript/api/generators/setup-verdaccio", + "name": "setup-verdaccio", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-build", + "path": "/technologies/typescript/api/generators/setup-build", + "name": "setup-build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "typescript-sync", + "path": "/technologies/typescript/api/generators/typescript-sync", + "name": "typescript-sync", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-prettier", + "path": "/technologies/typescript/api/generators/setup-prettier", + "name": "setup-prettier", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/typescript/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], "disableCollapsible": false } ], "disableCollapsible": false }, { - "name": "Migration", - "path": "/recipes/angular/migration", - "id": "migration", + "name": "Angular", + "path": "/technologies/angular", + "id": "angular", "isExternal": false, "children": [ { - "name": "Migrating from Angular CLI", - "path": "/recipes/angular/migration/angular", - "id": "angular", + "name": "Introduction", + "path": "/technologies/angular/introduction", + "id": "introduction", "isExternal": false, "children": [], "disableCollapsible": false }, { - "name": "Migrating From Multiple Angular CLI Repos", - "path": "/recipes/angular/migration/angular-multiple", - "id": "angular-multiple", + "name": "Migration", + "path": "/technologies/angular/migration", + "id": "migration", "isExternal": false, - "children": [], + "children": [ + { + "name": "Migrating from Angular CLI", + "path": "/technologies/angular/migration/angular", + "id": "angular", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Migrating From Multiple Angular CLI Repos", + "path": "/technologies/angular/migration/angular-multiple", + "id": "angular-multiple", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/angular/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Use Environment Variables in Angular", + "path": "/technologies/angular/recipes/use-environment-variables-in-angular", + "id": "use-environment-variables-in-angular", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Using Tailwind CSS with Angular projects", + "path": "/technologies/angular/recipes/using-tailwind-css-with-angular-projects", + "id": "using-tailwind-css-with-angular-projects", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Setup Module Federation with SSR for Angular", + "path": "/technologies/angular/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular", + "id": "dynamic-module-federation-with-angular", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Setup incremental builds for Angular applications", + "path": "/technologies/angular/recipes/setup-incremental-builds-angular", + "id": "setup-incremental-builds-angular", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/angular/api", + "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", + "name": "executors", + "children": [ + { + "id": "delegate-build", + "path": "/technologies/angular/api/executors/delegate-build", + "name": "delegate-build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ng-packagr-lite", + "path": "/technologies/angular/api/executors/ng-packagr-lite", + "name": "ng-packagr-lite", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "package", + "path": "/technologies/angular/api/executors/package", + "name": "package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "browser-esbuild", + "path": "/technologies/angular/api/executors/browser-esbuild", + "name": "browser-esbuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-server", + "path": "/technologies/angular/api/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-ssr", + "path": "/technologies/angular/api/executors/module-federation-dev-ssr", + "name": "module-federation-dev-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/angular/api/executors/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "extract-i18n", + "path": "/technologies/angular/api/executors/extract-i18n", + "name": "extract-i18n", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "webpack-browser", + "path": "/technologies/angular/api/executors/webpack-browser", + "name": "webpack-browser", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/technologies/angular/api/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "webpack-server", + "path": "/technologies/angular/api/executors/webpack-server", + "name": "webpack-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/angular/api/generators", + "name": "generators", + "children": [ + { + "id": "add-linting", + "path": "/technologies/angular/api/generators/add-linting", + "name": "add-linting", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/angular/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/angular/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/technologies/angular/api/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-test", + "path": "/technologies/angular/api/generators/component-test", + "name": "component-test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-application-executor", + "path": "/technologies/angular/api/generators/convert-to-application-executor", + "name": "convert-to-application-executor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-rspack", + "path": "/technologies/angular/api/generators/convert-to-rspack", + "name": "convert-to-rspack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "directive", + "path": "/technologies/angular/api/generators/directive", + "name": "directive", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "federate-module", + "path": "/technologies/angular/api/generators/federate-module", + "name": "federate-module", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/angular/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/angular/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library-secondary-entry-point", + "path": "/technologies/angular/api/generators/library-secondary-entry-point", + "name": "library-secondary-entry-point", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remote", + "path": "/technologies/angular/api/generators/remote", + "name": "remote", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "move", + "path": "/technologies/angular/api/generators/move", + "name": "move", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-with-mf", + "path": "/technologies/angular/api/generators/convert-to-with-mf", + "name": "convert-to-with-mf", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "host", + "path": "/technologies/angular/api/generators/host", + "name": "host", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ng-add", + "path": "/technologies/angular/api/generators/ng-add", + "name": "ng-add", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx", + "path": "/technologies/angular/api/generators/ngrx", + "name": "ngrx", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx-feature-store", + "path": "/technologies/angular/api/generators/ngrx-feature-store", + "name": "ngrx-feature-store", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx-root-store", + "path": "/technologies/angular/api/generators/ngrx-root-store", + "name": "ngrx-root-store", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pipe", + "path": "/technologies/angular/api/generators/pipe", + "name": "pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-to-standalone", + "path": "/technologies/angular/api/generators/scam-to-standalone", + "name": "scam-to-standalone", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam", + "path": "/technologies/angular/api/generators/scam", + "name": "scam", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-directive", + "path": "/technologies/angular/api/generators/scam-directive", + "name": "scam-directive", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-pipe", + "path": "/technologies/angular/api/generators/scam-pipe", + "name": "scam-pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-mf", + "path": "/technologies/angular/api/generators/setup-mf", + "name": "setup-mf", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-ssr", + "path": "/technologies/angular/api/generators/setup-ssr", + "name": "setup-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/technologies/angular/api/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/technologies/angular/api/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/angular/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/technologies/angular/api/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "web-worker", + "path": "/technologies/angular/api/generators/web-worker", + "name": "web-worker", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/angular/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Angular Rspack", + "path": "/technologies/angular/angular-rspack", + "id": "angular-rspack", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/angular/angular-rspack/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/angular/angular-rspack/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Getting Started with Angular and Rspack", + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "id": "getting-started", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Migrate from Angular Webpack", + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "id": "migrate-from-webpack", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Handling Configurations", + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "id": "handling-configurations", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Internationalization (i18n)", + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "id": "internationalization", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/angular/angular-rspack/api", + "id": "api", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Angular Rsbuild", + "path": "/technologies/angular/angular-rsbuild", + "id": "angular-rsbuild", + "isExternal": false, + "children": [ + { + "name": "API", + "path": "/technologies/angular/angular-rsbuild/api", + "id": "api", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], "disableCollapsible": false } ], "disableCollapsible": false }, { - "name": "Use Environment Variables in Angular", - "path": "/recipes/angular/use-environment-variables-in-angular", - "id": "use-environment-variables-in-angular", + "name": "React", + "path": "/technologies/react", + "id": "react", "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/react/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/react/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "React Native with Nx", + "path": "/technologies/react/recipes/react-native", + "id": "react-native", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Remix with Nx", + "path": "/technologies/react/recipes/remix", + "id": "remix", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "React Router with Nx", + "path": "/technologies/react/recipes/react-router", + "id": "react-router", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Use Environment Variables in React", + "path": "/technologies/react/recipes/use-environment-variables-in-react", + "id": "use-environment-variables-in-react", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Using Tailwind CSS in React", + "path": "/technologies/react/recipes/using-tailwind-css-in-react", + "id": "using-tailwind-css-in-react", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Adding Images, Fonts, and Files", + "path": "/technologies/react/recipes/adding-assets-react", + "id": "adding-assets-react", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Setup Module Federation with SSR for React", + "path": "/technologies/react/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Deploying Next.js applications to Vercel", + "path": "/technologies/react/recipes/deploy-nextjs-to-vercel", + "id": "deploy-nextjs-to-vercel", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "React Compiler with Nx", + "path": "/technologies/react/recipes/react-compiler", + "id": "react-compiler", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/react/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/react/api/executors", + "name": "executors", + "children": [ + { + "id": "module-federation-dev-server", + "path": "/technologies/react/api/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-ssr-dev-server", + "path": "/technologies/react/api/executors/module-federation-ssr-dev-server", + "name": "module-federation-ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-static-server", + "path": "/technologies/react/api/executors/module-federation-static-server", + "name": "module-federation-static-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/react/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/react/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/react/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/react/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/react/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "redux", + "path": "/technologies/react/api/generators/redux", + "name": "redux", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/react/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/technologies/react/api/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/technologies/react/api/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "hook", + "path": "/technologies/react/api/generators/hook", + "name": "hook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "host", + "path": "/technologies/react/api/generators/host", + "name": "host", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remote", + "path": "/technologies/react/api/generators/remote", + "name": "remote", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/technologies/react/api/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-test", + "path": "/technologies/react/api/generators/component-test", + "name": "component-test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/technologies/react/api/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-ssr", + "path": "/technologies/react/api/generators/setup-ssr", + "name": "setup-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "federate-module", + "path": "/technologies/react/api/generators/federate-module", + "name": "federate-module", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/react/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Next", + "path": "/technologies/react/next", + "id": "next", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/react/next/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/react/next/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "How to configure Next.js plugins", + "path": "/technologies/react/next/recipes/next-config-setup", + "id": "next-config-setup", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/react/next/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/react/next/api/executors", + "name": "executors", + "children": [ + { + "id": "build", + "path": "/technologies/react/next/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "server", + "path": "/technologies/react/next/api/executors/server", + "name": "server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/react/next/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/react/next/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/react/next/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "page", + "path": "/technologies/react/next/api/generators/page", + "name": "page", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/react/next/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/react/next/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "custom-server", + "path": "/technologies/react/next/api/generators/custom-server", + "name": "custom-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/technologies/react/next/api/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/react/next/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/react/next/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Remix", + "path": "/technologies/react/remix", + "id": "remix", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/react/remix/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/react/remix/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/react/remix/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/react/remix/api/executors", + "name": "executors", + "children": [ + { + "id": "serve", + "path": "/technologies/react/remix/api/executors/serve", + "name": "serve", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/technologies/react/remix/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/react/remix/api/generators", + "name": "generators", + "children": [ + { + "id": "preset", + "path": "/technologies/react/remix/api/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup", + "path": "/technologies/react/remix/api/generators/setup", + "name": "setup", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/react/remix/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/technologies/react/remix/api/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/react/remix/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/react/remix/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "route", + "path": "/technologies/react/remix/api/generators/route", + "name": "route", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resource-route", + "path": "/technologies/react/remix/api/generators/resource-route", + "name": "resource-route", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "action", + "path": "/technologies/react/remix/api/generators/action", + "name": "action", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "loader", + "path": "/technologies/react/remix/api/generators/loader", + "name": "loader", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "style", + "path": "/technologies/react/remix/api/generators/style", + "name": "style", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/technologies/react/remix/api/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/react/remix/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "meta", + "path": "/technologies/react/remix/api/generators/meta", + "name": "meta", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "error-boundary", + "path": "/technologies/react/remix/api/generators/error-boundary", + "name": "error-boundary", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/react/remix/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/react/remix/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "React Native", + "path": "/technologies/react/react-native", + "id": "react-native", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/react/react-native/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/react/react-native/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/react/react-native/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/react/react-native/api/executors", + "name": "executors", + "children": [ + { + "id": "run-android", + "path": "/technologies/react/react-native/api/executors/run-android", + "name": "run-android", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-ios", + "path": "/technologies/react/react-native/api/executors/run-ios", + "name": "run-ios", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "bundle", + "path": "/technologies/react/react-native/api/executors/bundle", + "name": "bundle", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-android", + "path": "/technologies/react/react-native/api/executors/build-android", + "name": "build-android", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-ios", + "path": "/technologies/react/react-native/api/executors/build-ios", + "name": "build-ios", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "start", + "path": "/technologies/react/react-native/api/executors/start", + "name": "start", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-deps", + "path": "/technologies/react/react-native/api/executors/sync-deps", + "name": "sync-deps", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ensure-symlink", + "path": "/technologies/react/react-native/api/executors/ensure-symlink", + "name": "ensure-symlink", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook", + "path": "/technologies/react/react-native/api/executors/storybook", + "name": "storybook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pod-install", + "path": "/technologies/react/react-native/api/executors/pod-install", + "name": "pod-install", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "upgrade", + "path": "/technologies/react/react-native/api/executors/upgrade", + "name": "upgrade", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/react/react-native/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/react/react-native/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/react/react-native/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/react/react-native/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/react/react-native/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/react/react-native/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/technologies/react/react-native/api/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/technologies/react/react-native/api/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "upgrade-native", + "path": "/technologies/react/react-native/api/generators/upgrade-native", + "name": "upgrade-native", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "web-configuration", + "path": "/technologies/react/react-native/api/generators/web-configuration", + "name": "web-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/react/react-native/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/react/react-native/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Expo", + "path": "/technologies/react/expo", + "id": "expo", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/react/expo/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/react/expo/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/react/expo/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/react/expo/api/executors", + "name": "executors", + "children": [ + { + "id": "update", + "path": "/technologies/react/expo/api/executors/update", + "name": "update", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/technologies/react/expo/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-list", + "path": "/technologies/react/expo/api/executors/build-list", + "name": "build-list", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run", + "path": "/technologies/react/expo/api/executors/run", + "name": "run", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "start", + "path": "/technologies/react/expo/api/executors/start", + "name": "start", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-deps", + "path": "/technologies/react/expo/api/executors/sync-deps", + "name": "sync-deps", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ensure-symlink", + "path": "/technologies/react/expo/api/executors/ensure-symlink", + "name": "ensure-symlink", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "prebuild", + "path": "/technologies/react/expo/api/executors/prebuild", + "name": "prebuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "install", + "path": "/technologies/react/expo/api/executors/install", + "name": "install", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "export", + "path": "/technologies/react/expo/api/executors/export", + "name": "export", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "submit", + "path": "/technologies/react/expo/api/executors/submit", + "name": "submit", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "serve", + "path": "/technologies/react/expo/api/executors/serve", + "name": "serve", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/react/expo/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/react/expo/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/react/expo/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/react/expo/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/react/expo/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/react/expo/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/react/expo/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Using Tailwind CSS with Angular projects", - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "id": "using-tailwind-css-with-angular-projects", + "name": "Vue", + "path": "/technologies/vue", + "id": "vue", "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/vue/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/vue/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/vue/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/vue/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/vue/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/vue/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/technologies/vue/api/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/technologies/vue/api/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/vue/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/technologies/vue/api/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/vue/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Nuxt", + "path": "/technologies/vue/nuxt", + "id": "nuxt", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/vue/nuxt/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/vue/nuxt/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Deploying Nuxt applications to Vercel", + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "id": "deploy-nuxt-to-vercel", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/vue/nuxt/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/vue/nuxt/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/vue/nuxt/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/vue/nuxt/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/technologies/vue/nuxt/api/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/vue/nuxt/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Setup Module Federation with SSR for Angular", - "path": "/recipes/angular/module-federation-with-ssr", - "id": "module-federation-with-ssr", + "name": "Node.js", + "path": "/technologies/node", + "id": "node", "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/node/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/node/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Deploying a Node App to Fly.io", + "path": "/technologies/node/recipes/node-server-fly-io", + "id": "node-server-fly-io", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Add and Deploy Netlify Edge Functions with Node", + "path": "/technologies/node/recipes/node-serverless-functions-netlify", + "id": "node-serverless-functions-netlify", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Deploying AWS lambda in Node.js (deprecated)", + "path": "/technologies/node/recipes/node-aws-lambda", + "id": "node-aws-lambda", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Set Up Application Proxies", + "path": "/technologies/node/recipes/application-proxies", + "id": "application-proxies", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Wait for Tasks to Finish", + "path": "/technologies/node/recipes/wait-for-tasks", + "id": "wait-for-tasks", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/node/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/node/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/node/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/node/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/node/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-docker", + "path": "/technologies/node/api/generators/setup-docker", + "name": "setup-docker", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/node/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Express", + "path": "/technologies/node/express", + "id": "express", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/node/express/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/node/express/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/node/express/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/node/express/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/node/express/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Nest", + "path": "/technologies/node/nest", + "id": "nest", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/node/nest/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/node/nest/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/node/nest/api/generators", + "name": "generators", + "children": [ + { + "id": "application", + "path": "/technologies/node/nest/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/node/nest/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/technologies/node/nest/api/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "class", + "path": "/technologies/node/nest/api/generators/class", + "name": "class", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "controller", + "path": "/technologies/node/nest/api/generators/controller", + "name": "controller", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "decorator", + "path": "/technologies/node/nest/api/generators/decorator", + "name": "decorator", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "filter", + "path": "/technologies/node/nest/api/generators/filter", + "name": "filter", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "gateway", + "path": "/technologies/node/nest/api/generators/gateway", + "name": "gateway", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "guard", + "path": "/technologies/node/nest/api/generators/guard", + "name": "guard", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "interceptor", + "path": "/technologies/node/nest/api/generators/interceptor", + "name": "interceptor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "interface", + "path": "/technologies/node/nest/api/generators/interface", + "name": "interface", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "middleware", + "path": "/technologies/node/nest/api/generators/middleware", + "name": "middleware", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module", + "path": "/technologies/node/nest/api/generators/module", + "name": "module", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pipe", + "path": "/technologies/node/nest/api/generators/pipe", + "name": "pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "provider", + "path": "/technologies/node/nest/api/generators/provider", + "name": "provider", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resolver", + "path": "/technologies/node/nest/api/generators/resolver", + "name": "resolver", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resource", + "path": "/technologies/node/nest/api/generators/resource", + "name": "resource", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "service", + "path": "/technologies/node/nest/api/generators/service", + "name": "service", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "id": "dynamic-module-federation-with-angular", + "name": "Java", + "path": "/technologies/java", + "id": "java", "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/java/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/java/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/java/api/executors", + "name": "executors", + "children": [ + { + "id": "gradle", + "path": "/technologies/java/api/executors/gradle", + "name": "gradle", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/java/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/java/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ci-workflow", + "path": "/technologies/java/api/generators/ci-workflow", + "name": "ci-workflow", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/java/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Setup incremental builds for Angular applications", - "path": "/recipes/angular/setup-incremental-builds-angular", - "id": "setup-incremental-builds-angular", + "name": "Module Federation", + "path": "/technologies/module-federation", + "id": "module-federation", "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Angular Rspack", - "path": "/recipes/angular/rspack", - "id": "rspack", - "isExternal": false, - "children": [ - { - "name": "Introduction", - "path": "/recipes/angular/rspack/introduction", - "id": "introduction", - "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/module-federation/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Concepts", + "path": "/technologies/module-federation/concepts", + "id": "concepts", + "isExternal": false, + "children": [ + { + "name": "Module Federation and Nx", + "path": "/technologies/module-federation/concepts/module-federation-and-nx", + "id": "module-federation-and-nx", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Nx Module Federation Technical Overview", + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview", + "id": "nx-module-federation-technical-overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Faster Builds with Module Federation", + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation", + "id": "faster-builds-with-module-federation", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Micro Frontend Architecture", + "path": "/technologies/module-federation/concepts/micro-frontend-architecture", + "id": "micro-frontend-architecture", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Manage Library Versions with Module Federation", + "path": "/technologies/module-federation/concepts/manage-library-versions-with-module-federation", + "id": "manage-library-versions-with-module-federation", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/module-federation/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "How to create a Module Federation Host Application", + "path": "/technologies/module-federation/recipes/create-a-host", + "id": "create-a-host", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "How to create a Module Federation Remote Application", + "path": "/technologies/module-federation/recipes/create-a-remote", + "id": "create-a-remote", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "How to Federate a Module", + "path": "/technologies/module-federation/recipes/federate-a-module", + "id": "federate-a-module", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/module-federation/api", + "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", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started", - "id": "getting-started", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate from Angular Webpack", - "path": "/recipes/angular/rspack/migrate-from-webpack", - "id": "migrate-from-webpack", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations", - "id": "handling-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization", - "id": "internationalization", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Introduction", - "path": "/recipes/angular/rspack/introduction", - "id": "introduction", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started", - "id": "getting-started", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrate from Angular Webpack", - "path": "/recipes/angular/rspack/migrate-from-webpack", - "id": "migrate-from-webpack", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations", - "id": "handling-configurations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization", - "id": "internationalization", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migration", - "path": "/recipes/angular/migration", - "id": "migration", - "isExternal": false, - "children": [ - { - "name": "Migrating from Angular CLI", - "path": "/recipes/angular/migration/angular", - "id": "angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrating From Multiple Angular CLI Repos", - "path": "/recipes/angular/migration/angular-multiple", - "id": "angular-multiple", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Migrating from Angular CLI", - "path": "/recipes/angular/migration/angular", - "id": "angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Migrating From Multiple Angular CLI Repos", - "path": "/recipes/angular/migration/angular-multiple", - "id": "angular-multiple", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Environment Variables in Angular", - "path": "/recipes/angular/use-environment-variables-in-angular", - "id": "use-environment-variables-in-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Tailwind CSS with Angular projects", - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "id": "using-tailwind-css-with-angular-projects", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup Module Federation with SSR for Angular", - "path": "/recipes/angular/module-federation-with-ssr", - "id": "module-federation-with-ssr", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "id": "dynamic-module-federation-with-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setup incremental builds for Angular applications", - "path": "/recipes/angular/setup-incremental-builds-angular", - "id": "setup-incremental-builds-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Node", - "path": "/recipes/node", - "id": "node", - "isExternal": false, - "children": [ - { - "name": "Deploying a Node App to Fly.io", - "path": "/recipes/node/node-server-fly-io", - "id": "node-server-fly-io", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Add and Deploy Netlify Edge Functions with Node", - "path": "/recipes/node/node-serverless-functions-netlify", - "id": "node-serverless-functions-netlify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying AWS lambda in Node.js (deprecated)", - "path": "/recipes/node/node-aws-lambda", - "id": "node-aws-lambda", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set Up Application Proxies", - "path": "/recipes/node/application-proxies", - "id": "application-proxies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Wait for Tasks to Finish", - "path": "/recipes/node/wait-for-tasks", - "id": "wait-for-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Deploying a Node App to Fly.io", - "path": "/recipes/node/node-server-fly-io", - "id": "node-server-fly-io", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Add and Deploy Netlify Edge Functions with Node", - "path": "/recipes/node/node-serverless-functions-netlify", - "id": "node-serverless-functions-netlify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Deploying AWS lambda in Node.js (deprecated)", - "path": "/recipes/node/node-aws-lambda", - "id": "node-aws-lambda", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set Up Application Proxies", - "path": "/recipes/node/application-proxies", - "id": "application-proxies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Wait for Tasks to Finish", - "path": "/recipes/node/wait-for-tasks", - "id": "wait-for-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Storybook", - "path": "/recipes/storybook", - "id": "storybook", - "isExternal": false, - "children": [ - { - "name": "Set up Storybook for React Projects", - "path": "/recipes/storybook/overview-react", - "id": "overview-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Angular Projects", - "path": "/recipes/storybook/overview-angular", - "id": "overview-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Vue Projects", - "path": "/recipes/storybook/overview-vue", - "id": "overview-vue", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Storybook on Nx", - "path": "/recipes/storybook/configuring-storybook", - "id": "configuring-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance for all projects", - "path": "/recipes/storybook/one-storybook-for-all", - "id": "one-storybook-for-all", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One Storybook instance per scope", - "path": "/recipes/storybook/one-storybook-per-scope", - "id": "one-storybook-per-scope", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance using Storybook Composition", - "path": "/recipes/storybook/one-storybook-with-composition", - "id": "one-storybook-with-composition", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to configure Webpack and Vite for Storybook", - "path": "/recipes/storybook/custom-builder-configs", - "id": "custom-builder-configs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Interaction Tests with Nx", - "path": "/recipes/storybook/storybook-interaction-tests", - "id": "storybook-interaction-tests", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Upgrading Storybook using the Storybook CLI", - "path": "/recipes/storybook/upgrading-storybook", - "id": "upgrading-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Composition with Nx", - "path": "/recipes/storybook/storybook-composition-setup", - "id": "storybook-composition-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Set up Compodoc for Storybook on Nx", - "path": "/recipes/storybook/angular-storybook-compodoc", - "id": "angular-storybook-compodoc", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Configuring styles and preprocessor options", - "path": "/recipes/storybook/angular-configuring-styles", - "id": "angular-configuring-styles", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for React Projects", - "path": "/recipes/storybook/overview-react", - "id": "overview-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Angular Projects", - "path": "/recipes/storybook/overview-angular", - "id": "overview-angular", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Set up Storybook for Vue Projects", - "path": "/recipes/storybook/overview-vue", - "id": "overview-vue", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Storybook on Nx", - "path": "/recipes/storybook/configuring-storybook", - "id": "configuring-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance for all projects", - "path": "/recipes/storybook/one-storybook-for-all", - "id": "one-storybook-for-all", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One Storybook instance per scope", - "path": "/recipes/storybook/one-storybook-per-scope", - "id": "one-storybook-per-scope", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "One main Storybook instance using Storybook Composition", - "path": "/recipes/storybook/one-storybook-with-composition", - "id": "one-storybook-with-composition", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "How to configure Webpack and Vite for Storybook", - "path": "/recipes/storybook/custom-builder-configs", - "id": "custom-builder-configs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Interaction Tests with Nx", - "path": "/recipes/storybook/storybook-interaction-tests", - "id": "storybook-interaction-tests", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Upgrading Storybook using the Storybook CLI", - "path": "/recipes/storybook/upgrading-storybook", - "id": "upgrading-storybook", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Storybook Composition with Nx", - "path": "/recipes/storybook/storybook-composition-setup", - "id": "storybook-composition-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Set up Compodoc for Storybook on Nx", - "path": "/recipes/storybook/angular-storybook-compodoc", - "id": "angular-storybook-compodoc", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular: Configuring styles and preprocessor options", - "path": "/recipes/storybook/angular-configuring-styles", - "id": "angular-configuring-styles", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cypress", - "path": "/recipes/cypress", - "id": "cypress", - "isExternal": false, - "children": [ - { - "name": "Component Testing", - "path": "/recipes/cypress/cypress-component-testing", - "id": "cypress-component-testing", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using setupNodeEvents with Cypress preset", - "path": "/recipes/cypress/cypress-setup-node-events", - "id": "cypress-setup-node-events", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cypress v11 Migration Guide", - "path": "/recipes/cypress/cypress-v11-migration", - "id": "cypress-v11-migration", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Component Testing", - "path": "/recipes/cypress/cypress-component-testing", - "id": "cypress-component-testing", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using setupNodeEvents with Cypress preset", - "path": "/recipes/cypress/cypress-setup-node-events", - "id": "cypress-setup-node-events", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cypress v11 Migration Guide", - "path": "/recipes/cypress/cypress-v11-migration", - "id": "cypress-v11-migration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Next", - "path": "/recipes/next", - "id": "next", - "isExternal": false, - "children": [ - { - "name": "How to configure Next.js plugins", - "path": "/recipes/next/next-config-setup", - "id": "next-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "How to configure Next.js plugins", - "path": "/recipes/next/next-config-setup", - "id": "next-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nuxt", - "path": "/recipes/nuxt", - "id": "nuxt", - "isExternal": false, - "children": [ - { - "name": "Deploying Nuxt applications to Vercel", - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "id": "deploy-nuxt-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Deploying Nuxt applications to Vercel", - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "id": "deploy-nuxt-to-vercel", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Vite", - "path": "/recipes/vite", - "id": "vite", - "isExternal": false, - "children": [ - { - "name": "Configure Vite on your Nx workspace", - "path": "/recipes/vite/configure-vite", - "id": "configure-vite", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Configure Vite on your Nx workspace", - "path": "/recipes/vite/configure-vite", - "id": "configure-vite", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Webpack", - "path": "/recipes/webpack", - "id": "webpack", - "isExternal": false, - "children": [ - { - "name": "How to configure Webpack in your Nx workspace", - "path": "/recipes/webpack/webpack-config-setup", - "id": "webpack-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Webpack plugins", - "path": "/recipes/webpack/webpack-plugins", - "id": "webpack-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "How to configure Webpack in your Nx workspace", - "path": "/recipes/webpack/webpack-config-setup", - "id": "webpack-config-setup", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Webpack plugins", - "path": "/recipes/webpack/webpack-plugins", - "id": "webpack-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enforce Module Boundaries", - "path": "/recipes/enforce-module-boundaries", - "id": "enforce-module-boundaries", - "isExternal": false, - "children": [ - { - "name": "Ban Dependencies with Certain Tags", - "path": "/recipes/enforce-module-boundaries/ban-dependencies-with-tags", - "id": "ban-dependencies-with-tags", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tag in Multiple Dimensions", - "path": "/recipes/enforce-module-boundaries/tag-multiple-dimensions", - "id": "tag-multiple-dimensions", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Ban External Imports", - "path": "/recipes/enforce-module-boundaries/ban-external-imports", - "id": "ban-external-imports", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tags Allow List", - "path": "/recipes/enforce-module-boundaries/tags-allow-list", - "id": "tags-allow-list", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Ban Dependencies with Certain Tags", - "path": "/recipes/enforce-module-boundaries/ban-dependencies-with-tags", - "id": "ban-dependencies-with-tags", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tag in Multiple Dimensions", - "path": "/recipes/enforce-module-boundaries/tag-multiple-dimensions", - "id": "tag-multiple-dimensions", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Ban External Imports", - "path": "/recipes/enforce-module-boundaries/ban-external-imports", - "id": "ban-external-imports", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tags Allow List", - "path": "/recipes/enforce-module-boundaries/tags-allow-list", - "id": "tags-allow-list", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tips and tricks", - "path": "/recipes/tips-n-tricks", - "id": "tips-n-tricks", - "isExternal": false, - "children": [ - { - "name": "Convert from a Standalone Repository to a Monorepo", - "path": "/recipes/tips-n-tricks/standalone-to-monorepo", - "id": "standalone-to-monorepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring ESLint with Typescript", - "path": "/recipes/tips-n-tricks/eslint", + "name": "ESLint", + "path": "/technologies/eslint", "id": "eslint", "isExternal": false, - "children": [], + "children": [ + { + "name": "Introduction", + "path": "/technologies/eslint/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/eslint/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Configuring ESLint with Typescript", + "path": "/technologies/eslint/recipes/eslint", + "id": "eslint", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Switching to ESLint's flat config format", + "path": "/technologies/eslint/recipes/flat-config", + "id": "flat-config", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/eslint/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/eslint/api/executors", + "name": "executors", + "children": [ + { + "id": "lint", + "path": "/technologies/eslint/api/executors/lint", + "name": "lint", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/eslint/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/eslint/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "workspace-rules-project", + "path": "/technologies/eslint/api/generators/workspace-rules-project", + "name": "workspace-rules-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "workspace-rule", + "path": "/technologies/eslint/api/generators/workspace-rule", + "name": "workspace-rule", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-flat-config", + "path": "/technologies/eslint/api/generators/convert-to-flat-config", + "name": "convert-to-flat-config", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/eslint/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/eslint/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "ESLint Plugin", + "path": "/technologies/eslint/eslint-plugin", + "id": "eslint-plugin", + "isExternal": false, + "children": [ + { + "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", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Switch to Workspaces and TS Project References", - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "id": "switch-to-workspaces-project-references", + "name": "Build Tools", + "path": "/technologies/build-tools", + "id": "build-tools", "isExternal": false, - "children": [], + "children": [ + { + "name": "Webpack", + "path": "/technologies/build-tools/webpack", + "id": "webpack", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/webpack/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/webpack/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "How to configure Webpack in your Nx workspace", + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "id": "webpack-config-setup", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Webpack plugins", + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "id": "webpack-plugins", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/webpack/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/build-tools/webpack/api/executors", + "name": "executors", + "children": [ + { + "id": "webpack", + "path": "/technologies/build-tools/webpack/api/executors/webpack", + "name": "webpack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/technologies/build-tools/webpack/api/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ssr-dev-server", + "path": "/technologies/build-tools/webpack/api/executors/ssr-dev-server", + "name": "ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/build-tools/webpack/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/build-tools/webpack/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/build-tools/webpack/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-config-to-webpack-plugin", + "path": "/technologies/build-tools/webpack/api/generators/convert-config-to-webpack-plugin", + "name": "convert-config-to-webpack-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/build-tools/webpack/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/build-tools/webpack/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Vite", + "path": "/technologies/build-tools/vite", + "id": "vite", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/vite/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/vite/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Configure Vite on your Nx workspace", + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "id": "configure-vite", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/vite/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/build-tools/vite/api/executors", + "name": "executors", + "children": [ + { + "id": "dev-server", + "path": "/technologies/build-tools/vite/api/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/technologies/build-tools/vite/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "test", + "path": "/technologies/build-tools/vite/api/executors/test", + "name": "test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preview-server", + "path": "/technologies/build-tools/vite/api/executors/preview-server", + "name": "preview-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/build-tools/vite/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/build-tools/vite/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/build-tools/vite/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-paths-plugin", + "path": "/technologies/build-tools/vite/api/generators/setup-paths-plugin", + "name": "setup-paths-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/build-tools/vite/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "vitest", + "path": "/technologies/build-tools/vite/api/generators/vitest", + "name": "vitest", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/build-tools/vite/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Rollup", + "path": "/technologies/build-tools/rollup", + "id": "rollup", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/rollup/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/rollup/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/rollup/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/build-tools/rollup/api/executors", + "name": "executors", + "children": [ + { + "id": "rollup", + "path": "/technologies/build-tools/rollup/api/executors/rollup", + "name": "rollup", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/build-tools/rollup/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/build-tools/rollup/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/build-tools/rollup/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/build-tools/rollup/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/build-tools/rollup/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "ESBuild", + "path": "/technologies/build-tools/esbuild", + "id": "esbuild", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/esbuild/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/esbuild/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/esbuild/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/build-tools/esbuild/api/executors", + "name": "executors", + "children": [ + { + "id": "esbuild", + "path": "/technologies/build-tools/esbuild/api/executors/esbuild", + "name": "esbuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/build-tools/esbuild/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/build-tools/esbuild/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/build-tools/esbuild/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Rspack", + "path": "/technologies/build-tools/rspack", + "id": "rspack", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/rspack/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/rspack/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/rspack/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/build-tools/rspack/api/executors", + "name": "executors", + "children": [ + { + "id": "rspack", + "path": "/technologies/build-tools/rspack/api/executors/rspack", + "name": "rspack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/technologies/build-tools/rspack/api/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ssr-dev-server", + "path": "/technologies/build-tools/rspack/api/executors/ssr-dev-server", + "name": "ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-server", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-ssr-dev-server", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-ssr-dev-server", + "name": "module-federation-ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-static-server", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-static-server", + "name": "module-federation-static-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/build-tools/rspack/api/generators", + "name": "generators", + "children": [ + { + "id": "configuration", + "path": "/technologies/build-tools/rspack/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/build-tools/rspack/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preset", + "path": "/technologies/build-tools/rspack/api/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/build-tools/rspack/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-webpack", + "path": "/technologies/build-tools/rspack/api/generators/convert-webpack", + "name": "convert-webpack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-config-to-rspack-plugin", + "path": "/technologies/build-tools/rspack/api/generators/convert-config-to-rspack-plugin", + "name": "convert-config-to-rspack-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/build-tools/rspack/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/build-tools/rspack/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Rsbuild", + "path": "/technologies/build-tools/rsbuild", + "id": "rsbuild", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/build-tools/rsbuild/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/build-tools/rsbuild/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/build-tools/rsbuild/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/technologies/build-tools/rsbuild/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/build-tools/rsbuild/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/build-tools/rsbuild/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false }, { - "name": "Enable Typescript Batch Mode", - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "id": "enable-tsc-batch-mode", + "name": "Test Tools", + "path": "/technologies/test-tools", + "id": "test-tools", "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Secondary Entrypoints for Typescript Packages", - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "id": "define-secondary-entrypoints", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Compile Typescript Packages to Multiple Formats", - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "id": "compile-multiple-formats", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Keep Nx Versions in Sync", - "path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync", - "id": "keep-nx-versions-in-sync", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Environment Variables", - "path": "/recipes/tips-n-tricks/define-environment-variables", - "id": "define-environment-variables", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Browser Support", - "path": "/recipes/tips-n-tricks/browser-support", - "id": "browser-support", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Include Assets in Build", - "path": "/recipes/tips-n-tricks/include-assets-in-build", - "id": "include-assets-in-build", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Include All package.json Files as Projects", - "path": "/recipes/tips-n-tricks/include-all-packagejson", - "id": "include-all-packagejson", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Identify Dependencies Between Folders", - "path": "/recipes/tips-n-tricks/identify-dependencies-between-folders", - "id": "identify-dependencies-between-folders", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Disable Graph Links Created from Analyzing Source Files", - "path": "/recipes/tips-n-tricks/analyze-source-files", - "id": "analyze-source-files", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use JavaScript instead TypeScript", - "path": "/recipes/tips-n-tricks/js-and-ts", - "id": "js-and-ts", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Altering Migration Process", - "path": "/recipes/tips-n-tricks/advanced-update", - "id": "advanced-update", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Yarn PnP", - "path": "/recipes/tips-n-tricks/yarn-pnp", - "id": "yarn-pnp", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Switching to ESLint's flat config format", - "path": "/recipes/tips-n-tricks/flat-config", - "id": "flat-config", - "isExternal": false, - "children": [], + "children": [ + { + "name": "Cypress", + "path": "/technologies/test-tools/cypress", + "id": "cypress", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/test-tools/cypress/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/test-tools/cypress/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Component Testing", + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "id": "cypress-component-testing", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Using setupNodeEvents with Cypress preset", + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "id": "cypress-setup-node-events", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Cypress v11 Migration Guide", + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "id": "cypress-v11-migration", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/test-tools/cypress/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/test-tools/cypress/api/executors", + "name": "executors", + "children": [ + { + "id": "cypress", + "path": "/technologies/test-tools/cypress/api/executors/cypress", + "name": "cypress", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/test-tools/cypress/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/test-tools/cypress/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/test-tools/cypress/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-configuration", + "path": "/technologies/test-tools/cypress/api/generators/component-configuration", + "name": "component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-to-cypress-11", + "path": "/technologies/test-tools/cypress/api/generators/migrate-to-cypress-11", + "name": "migrate-to-cypress-11", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/test-tools/cypress/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/test-tools/cypress/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Jest", + "path": "/technologies/test-tools/jest", + "id": "jest", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/test-tools/jest/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/test-tools/jest/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/test-tools/jest/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/test-tools/jest/api/executors", + "name": "executors", + "children": [ + { + "id": "jest", + "path": "/technologies/test-tools/jest/api/executors/jest", + "name": "jest", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/test-tools/jest/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/test-tools/jest/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/test-tools/jest/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/test-tools/jest/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/test-tools/jest/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Playwright", + "path": "/technologies/test-tools/playwright", + "id": "playwright", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/test-tools/playwright/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/test-tools/playwright/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/test-tools/playwright/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/test-tools/playwright/api/executors", + "name": "executors", + "children": [ + { + "id": "playwright", + "path": "/technologies/test-tools/playwright/api/executors/playwright", + "name": "playwright", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/test-tools/playwright/api/generators", + "name": "generators", + "children": [ + { + "id": "configuration", + "path": "/technologies/test-tools/playwright/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/technologies/test-tools/playwright/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/test-tools/playwright/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/test-tools/playwright/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Storybook", + "path": "/technologies/test-tools/storybook", + "id": "storybook", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/test-tools/storybook/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/test-tools/storybook/recipes", + "id": "recipes", + "isExternal": false, + "children": [ + { + "name": "Set up Storybook for React Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "id": "overview-react", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Set up Storybook for Angular Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "id": "overview-angular", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Set up Storybook for Vue Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "id": "overview-vue", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Configuring Storybook on Nx", + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "id": "configuring-storybook", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "One main Storybook instance for all projects", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "id": "one-storybook-for-all", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "One Storybook instance per scope", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "id": "one-storybook-per-scope", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "One main Storybook instance using Storybook Composition", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "id": "one-storybook-with-composition", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "How to configure Webpack and Vite for Storybook", + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "id": "custom-builder-configs", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Setting up Storybook Interaction Tests with Nx", + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "id": "storybook-interaction-tests", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Upgrading Storybook using the Storybook CLI", + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "id": "upgrading-storybook", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Setting up Storybook Composition with Nx", + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "id": "storybook-composition-setup", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Angular: Set up Compodoc for Storybook on Nx", + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "id": "angular-storybook-compodoc", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Angular: Configuring styles and preprocessor options", + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "id": "angular-configuring-styles", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/test-tools/storybook/api", + "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", + "name": "executors", + "children": [ + { + "id": "storybook", + "path": "/technologies/test-tools/storybook/api/executors/storybook", + "name": "storybook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/technologies/test-tools/storybook/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/test-tools/storybook/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/test-tools/storybook/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/technologies/test-tools/storybook/api/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-project", + "path": "/technologies/test-tools/storybook/api/generators/cypress-project", + "name": "cypress-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/test-tools/storybook/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-7", + "path": "/technologies/test-tools/storybook/api/generators/migrate-7", + "name": "migrate-7", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-8", + "path": "/technologies/test-tools/storybook/api/generators/migrate-8", + "name": "migrate-8", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/test-tools/storybook/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Detox", + "path": "/technologies/test-tools/detox", + "id": "detox", + "isExternal": false, + "children": [ + { + "name": "Introduction", + "path": "/technologies/test-tools/detox/introduction", + "id": "introduction", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Guides", + "path": "/technologies/test-tools/detox/recipes", + "id": "recipes", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "API", + "path": "/technologies/test-tools/detox/api", + "id": "api", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/technologies/test-tools/detox/api/executors", + "name": "executors", + "children": [ + { + "id": "build", + "path": "/technologies/test-tools/detox/api/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "test", + "path": "/technologies/test-tools/detox/api/executors/test", + "name": "test", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/technologies/test-tools/detox/api/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/technologies/test-tools/detox/api/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/technologies/test-tools/detox/api/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/technologies/test-tools/detox/api/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/technologies/test-tools/detox/api/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false } ], "disableCollapsible": false }, - { - "name": "Convert from a Standalone Repository to a Monorepo", - "path": "/recipes/tips-n-tricks/standalone-to-monorepo", - "id": "standalone-to-monorepo", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring ESLint with Typescript", - "path": "/recipes/tips-n-tricks/eslint", - "id": "eslint", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Switch to Workspaces and TS Project References", - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "id": "switch-to-workspaces-project-references", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Typescript Batch Mode", - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "id": "enable-tsc-batch-mode", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Secondary Entrypoints for Typescript Packages", - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "id": "define-secondary-entrypoints", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Compile Typescript Packages to Multiple Formats", - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "id": "compile-multiple-formats", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Keep Nx Versions in Sync", - "path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync", - "id": "keep-nx-versions-in-sync", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Environment Variables", - "path": "/recipes/tips-n-tricks/define-environment-variables", - "id": "define-environment-variables", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Configuring Browser Support", - "path": "/recipes/tips-n-tricks/browser-support", - "id": "browser-support", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Include Assets in Build", - "path": "/recipes/tips-n-tricks/include-assets-in-build", - "id": "include-assets-in-build", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Include All package.json Files as Projects", - "path": "/recipes/tips-n-tricks/include-all-packagejson", - "id": "include-all-packagejson", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Identify Dependencies Between Folders", - "path": "/recipes/tips-n-tricks/identify-dependencies-between-folders", - "id": "identify-dependencies-between-folders", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Disable Graph Links Created from Analyzing Source Files", - "path": "/recipes/tips-n-tricks/analyze-source-files", - "id": "analyze-source-files", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use JavaScript instead TypeScript", - "path": "/recipes/tips-n-tricks/js-and-ts", - "id": "js-and-ts", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Altering Migration Process", - "path": "/recipes/tips-n-tricks/advanced-update", - "id": "advanced-update", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Using Yarn PnP", - "path": "/recipes/tips-n-tricks/yarn-pnp", - "id": "yarn-pnp", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Switching to ESLint's flat config format", - "path": "/recipes/tips-n-tricks/flat-config", - "id": "flat-config", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Enterprise", "path": "/nx-enterprise", @@ -4264,71 +5148,6 @@ ], "disableCollapsible": false }, - { - "name": "Activate Powerpack", - "path": "/nx-enterprise/activate-powerpack", - "id": "activate-powerpack", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Powerpack Features", - "path": "/nx-enterprise/powerpack", - "id": "powerpack", - "isExternal": false, - "children": [ - { - "name": "Free Licenses & Trials", - "path": "/nx-enterprise/powerpack/licenses-and-trials", - "id": "licenses-and-trials", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Language-Agnostic Conformance Rules", - "path": "/nx-enterprise/powerpack/conformance", - "id": "conformance", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Code Ownership at the Project Level", - "path": "/nx-enterprise/powerpack/owners", - "id": "owners", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Free Licenses & Trials", - "path": "/nx-enterprise/powerpack/licenses-and-trials", - "id": "licenses-and-trials", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Run Language-Agnostic Conformance Rules", - "path": "/nx-enterprise/powerpack/conformance", - "id": "conformance", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Define Code Ownership at the Project Level", - "path": "/nx-enterprise/powerpack/owners", - "id": "owners", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Showcase", "path": "/showcase", @@ -4508,328 +5327,6 @@ ], "disableCollapsible": false }, - { - "name": "Nx with your favorite tech", - "path": "/showcase/example-repos", - "id": "example-repos", - "isExternal": false, - "children": [ - { - "name": "Express", - "path": "/showcase/example-repos/add-express", - "id": "add-express", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Lit", - "path": "/showcase/example-repos/add-lit", - "id": "add-lit", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Solid", - "path": "/showcase/example-repos/add-solid", - "id": "add-solid", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Qwik", - "path": "/showcase/example-repos/add-qwik", - "id": "add-qwik", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Rust", - "path": "/showcase/example-repos/add-rust", - "id": "add-rust", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": ".NET", - "path": "/showcase/example-repos/add-dotnet", - "id": "add-dotnet", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Astro", - "path": "/showcase/example-repos/add-astro", - "id": "add-astro", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Svelte", - "path": "/showcase/example-repos/add-svelte", - "id": "add-svelte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Fastify", - "path": "/showcase/example-repos/add-fastify", - "id": "add-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Apollo GraphQL", - "path": "/showcase/example-repos/apollo-react", - "id": "apollo-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Prisma with NestJS", - "path": "/showcase/example-repos/nestjs-prisma", - "id": "nestjs-prisma", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Mongo with Fastify", - "path": "/showcase/example-repos/mongo-fastify", - "id": "mongo-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Redis with Fastify", - "path": "/showcase/example-repos/redis-fastify", - "id": "redis-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Postgres with Fastify", - "path": "/showcase/example-repos/postgres-fastify", - "id": "postgres-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "PlanetScale with Serverless Fastify", - "path": "/showcase/example-repos/serverless-fastify-planetscale", - "id": "serverless-fastify-planetscale", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx with Micro-frontends", - "path": "/showcase/example-repos/mfe", - "id": "mfe", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Express", - "path": "/showcase/example-repos/add-express", - "id": "add-express", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Lit", - "path": "/showcase/example-repos/add-lit", - "id": "add-lit", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Solid", - "path": "/showcase/example-repos/add-solid", - "id": "add-solid", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Qwik", - "path": "/showcase/example-repos/add-qwik", - "id": "add-qwik", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Rust", - "path": "/showcase/example-repos/add-rust", - "id": "add-rust", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": ".NET", - "path": "/showcase/example-repos/add-dotnet", - "id": "add-dotnet", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Astro", - "path": "/showcase/example-repos/add-astro", - "id": "add-astro", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Svelte", - "path": "/showcase/example-repos/add-svelte", - "id": "add-svelte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Fastify", - "path": "/showcase/example-repos/add-fastify", - "id": "add-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Apollo GraphQL", - "path": "/showcase/example-repos/apollo-react", - "id": "apollo-react", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Prisma with NestJS", - "path": "/showcase/example-repos/nestjs-prisma", - "id": "nestjs-prisma", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Mongo with Fastify", - "path": "/showcase/example-repos/mongo-fastify", - "id": "mongo-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Redis with Fastify", - "path": "/showcase/example-repos/redis-fastify", - "id": "redis-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Postgres with Fastify", - "path": "/showcase/example-repos/postgres-fastify", - "id": "postgres-fastify", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "PlanetScale with Serverless Fastify", - "path": "/showcase/example-repos/serverless-fastify-planetscale", - "id": "serverless-fastify-planetscale", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx with Micro-frontends", - "path": "/showcase/example-repos/mfe", - "id": "mfe", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Benchmarks", - "path": "/showcase/benchmarks", - "id": "benchmarks", - "isExternal": false, - "children": [ - { - "name": "Typescript Batch Mode Compilation", - "path": "/showcase/benchmarks/tsc-batch-mode", - "id": "tsc-batch-mode", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Large Repo and Caching", - "path": "/showcase/benchmarks/caching", - "id": "caching", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Large Repo and Nx Agents", - "path": "/showcase/benchmarks/nx-agents", - "id": "nx-agents", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Typescript Batch Mode Compilation", - "path": "/showcase/benchmarks/tsc-batch-mode", - "id": "tsc-batch-mode", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Large Repo and Caching", - "path": "/showcase/benchmarks/caching", - "id": "caching", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Large Repo and Nx Agents", - "path": "/showcase/benchmarks/nx-agents", - "id": "nx-agents", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Reference", "path": "/reference", @@ -4899,74 +5396,938 @@ "isExternal": false, "children": [], "disableCollapsible": false + }, + { + "name": "API", + "path": "/reference/core-api", + "id": "core-api", + "isExternal": false, + "children": [ + { + "name": "nx", + "path": "/reference/core-api/nx", + "id": "nx", + "isExternal": false, + "children": [ + { + "id": "documents", + "path": "/reference/core-api/nx/documents", + "name": "documents", + "children": [ + { + "id": "create-nx-workspace", + "path": "/reference/core-api/nx/documents/create-nx-workspace", + "name": "create-nx-workspace", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/reference/core-api/nx/documents/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generate", + "path": "/reference/core-api/nx/documents/generate", + "name": "generate", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run", + "path": "/reference/core-api/nx/documents/run", + "name": "run", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "daemon", + "path": "/reference/core-api/nx/documents/daemon", + "name": "daemon", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "graph", + "path": "/reference/core-api/nx/documents/dep-graph", + "name": "graph", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-many", + "path": "/reference/core-api/nx/documents/run-many", + "name": "run-many", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "affected", + "path": "/reference/core-api/nx/documents/affected", + "name": "affected", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "format:check", + "path": "/reference/core-api/nx/documents/format-check", + "name": "format:check", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "format:write", + "path": "/reference/core-api/nx/documents/format-write", + "name": "format:write", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate", + "path": "/reference/core-api/nx/documents/migrate", + "name": "migrate", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "report", + "path": "/reference/core-api/nx/documents/report", + "name": "report", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "list", + "path": "/reference/core-api/nx/documents/list", + "name": "list", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "connect-to-nx-cloud", + "path": "/reference/core-api/nx/documents/connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "reset", + "path": "/reference/core-api/nx/documents/reset", + "name": "reset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "repair", + "path": "/reference/core-api/nx/documents/repair", + "name": "repair", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync", + "path": "/reference/core-api/nx/documents/sync", + "name": "sync", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync:check", + "path": "/reference/core-api/nx/documents/sync-check", + "name": "sync:check", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "import", + "path": "/reference/core-api/nx/documents/import", + "name": "import", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "exec", + "path": "/reference/core-api/nx/documents/exec", + "name": "exec", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "watch", + "path": "/reference/core-api/nx/documents/watch", + "name": "watch", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "show", + "path": "/reference/core-api/nx/documents/show", + "name": "show", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "view-logs", + "path": "/reference/core-api/nx/documents/view-logs", + "name": "view-logs", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "release", + "path": "/reference/core-api/nx/documents/release", + "name": "release", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "add", + "path": "/reference/core-api/nx/documents/add", + "name": "add", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "login", + "path": "/reference/core-api/nx/documents/login", + "name": "login", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "logout", + "path": "/reference/core-api/nx/documents/logout", + "name": "logout", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/reference/core-api/nx/executors", + "name": "executors", + "children": [ + { + "id": "noop", + "path": "/reference/core-api/nx/executors/noop", + "name": "noop", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-commands", + "path": "/reference/core-api/nx/executors/run-commands", + "name": "run-commands", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-script", + "path": "/reference/core-api/nx/executors/run-script", + "name": "run-script", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/nx/generators", + "name": "generators", + "children": [ + { + "id": "connect-to-nx-cloud", + "path": "/reference/core-api/nx/generators/connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/reference/core-api/nx/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "workspace", + "path": "/reference/core-api/workspace", + "id": "workspace", + "isExternal": false, + "children": [ + { + "id": "documents", + "path": "/reference/core-api/workspace/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/workspace/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "Nx, NodeJS and Typescript Versions", + "path": "/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix", + "name": "Nx, NodeJS and Typescript Versions", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/reference/core-api/workspace/executors", + "name": "executors", + "children": [ + { + "id": "counter", + "path": "/reference/core-api/workspace/executors/counter", + "name": "counter", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/workspace/generators", + "name": "generators", + "children": [ + { + "id": "preset", + "path": "/reference/core-api/workspace/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "move", + "path": "/reference/core-api/workspace/generators/move", + "name": "move", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remove", + "path": "/reference/core-api/workspace/generators/remove", + "name": "remove", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-monorepo", + "path": "/reference/core-api/workspace/generators/convert-to-monorepo", + "name": "convert-to-monorepo", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "new", + "path": "/reference/core-api/workspace/generators/new", + "name": "new", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-commands", + "path": "/reference/core-api/workspace/generators/run-commands", + "name": "run-commands", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "fix-configuration", + "path": "/reference/core-api/workspace/generators/fix-configuration", + "name": "fix-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "npm-package", + "path": "/reference/core-api/workspace/generators/npm-package", + "name": "npm-package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ci-workflow", + "path": "/reference/core-api/workspace/generators/ci-workflow", + "name": "ci-workflow", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "infer-targets", + "path": "/reference/core-api/workspace/generators/infer-targets", + "name": "infer-targets", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/reference/core-api/workspace/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "owners", + "path": "/reference/core-api/owners", + "id": "owners", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/owners/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/owners/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/owners/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/owners/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/reference/core-api/owners/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-codeowners-file", + "path": "/reference/core-api/owners/generators/sync-codeowners-file", + "name": "sync-codeowners-file", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "conformance", + "path": "/reference/core-api/conformance", + "id": "conformance", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/conformance/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Create a Conformance Rule", + "path": "/reference/core-api/conformance/create-conformance-rule", + "id": "create-conformance-rule", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/conformance/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/conformance/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "Create a Conformance Rule", + "path": "/reference/core-api/conformance/documents/create-conformance-rule", + "name": "Create a Conformance Rule", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/reference/core-api/conformance/executors", + "name": "executors", + "children": [ + { + "id": "bundle-rules", + "path": "/reference/core-api/conformance/executors/bundle-rules", + "name": "bundle-rules", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/conformance/generators", + "name": "generators", + "children": [ + { + "id": "create-rule", + "path": "/reference/core-api/conformance/generators/create-rule", + "name": "create-rule", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "azure-cache", + "path": "/reference/core-api/azure-cache", + "id": "azure-cache", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/azure-cache/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/azure-cache/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/azure-cache/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "gcs-cache", + "path": "/reference/core-api/gcs-cache", + "id": "gcs-cache", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/gcs-cache/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/gcs-cache/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/gcs-cache/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "s3-cache", + "path": "/reference/core-api/s3-cache", + "id": "s3-cache", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/s3-cache/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/s3-cache/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/s3-cache/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "shared-fs-cache", + "path": "/reference/core-api/shared-fs-cache", + "id": "shared-fs-cache", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/shared-fs-cache/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "id": "documents", + "path": "/reference/core-api/shared-fs-cache/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/shared-fs-cache/documents/overview", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/shared-fs-cache/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/reference/core-api/shared-fs-cache/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "devkit", + "path": "/reference/core-api/devkit", + "id": "devkit", + "isExternal": false, + "children": [ + { + "id": "documents", + "path": "/reference/core-api/devkit/documents", + "name": "documents", + "children": [ + { + "id": "Overview", + "path": "/reference/core-api/devkit/documents/nx_devkit", + "name": "Overview", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "Ng CLI Adapter", + "path": "/reference/core-api/devkit/documents/ngcli_adapter", + "name": "Ng CLI Adapter", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "plugin", + "path": "/reference/core-api/plugin", + "id": "plugin", + "isExternal": false, + "children": [ + { + "id": "generators", + "path": "/reference/core-api/plugin/generators", + "name": "generators", + "children": [ + { + "id": "plugin", + "path": "/reference/core-api/plugin/generators/plugin", + "name": "plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "create-package", + "path": "/reference/core-api/plugin/generators/create-package", + "name": "create-package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "e2e-project", + "path": "/reference/core-api/plugin/generators/e2e-project", + "name": "e2e-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migration", + "path": "/reference/core-api/plugin/generators/migration", + "name": "migration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generator", + "path": "/reference/core-api/plugin/generators/generator", + "name": "generator", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executor", + "path": "/reference/core-api/plugin/generators/executor", + "name": "executor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "plugin-lint-checks", + "path": "/reference/core-api/plugin/generators/plugin-lint-checks", + "name": "plugin-lint-checks", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preset", + "path": "/reference/core-api/plugin/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "web", + "path": "/reference/core-api/web", + "id": "web", + "isExternal": false, + "children": [ + { + "id": "executors", + "path": "/reference/core-api/web/executors", + "name": "executors", + "children": [ + { + "id": "file-server", + "path": "/reference/core-api/web/executors/file-server", + "name": "file-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/reference/core-api/web/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/reference/core-api/web/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/reference/core-api/web/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "static-config", + "path": "/reference/core-api/web/generators/static-config", + "name": "static-config", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "create-nx-workspace", + "path": "/reference/core-api/create-nx-workspace", + "id": "create-nx-workspace", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false } ], "disableCollapsible": false }, - { - "name": "Commands", - "path": "/reference/nx-commands", - "id": "nx-commands", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Configuration", - "path": "/reference/nx-json", - "id": "nx-json", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Configuration", - "path": "/reference/project-configuration", - "id": "project-configuration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Inputs and Named Inputs", - "path": "/reference/inputs", - "id": "inputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": ".nxignore", - "path": "/reference/nxignore", - "id": "nxignore", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Environment Variables", - "path": "/reference/environment-variables", - "id": "environment-variables", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Glossary", - "path": "/reference/glossary", - "id": "glossary", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Releases", - "path": "/reference/releases", - "id": "releases", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Troubleshooting", "path": "/troubleshooting", @@ -5032,54 +6393,6 @@ ], "disableCollapsible": false }, - { - "name": "Resolve Circular Dependencies", - "path": "/troubleshooting/resolve-circular-dependencies", - "id": "resolve-circular-dependencies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Troubleshoot Nx Install Issues", - "path": "/troubleshooting/troubleshoot-nx-install-issues", - "id": "troubleshoot-nx-install-issues", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Troubleshoot Cache Misses", - "path": "/troubleshooting/troubleshoot-cache-misses", - "id": "troubleshoot-cache-misses", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Unknown Local Cache Error", - "path": "/troubleshooting/unknown-local-cache", - "id": "unknown-local-cache", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Profiling Build Performance", - "path": "/troubleshooting/performance-profiling", - "id": "performance-profiling", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Troubleshoot Convert to Inferred Migration", - "path": "/troubleshooting/convert-to-inferred", - "id": "convert-to-inferred", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Deprecated", "path": "/deprecated", @@ -5217,134 +6530,6 @@ ], "disableCollapsible": false }, - { - "name": "affected:graph", - "path": "/deprecated/affected-graph", - "id": "affected-graph", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "print-affected", - "path": "/deprecated/print-affected", - "id": "print-affected", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "workspace.json", - "path": "/deprecated/workspace-json", - "id": "workspace-json", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "As Provided vs. Derived", - "path": "/deprecated/as-provided-vs-derived", - "id": "as-provided-vs-derived", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Workspace Generators", - "path": "/deprecated/workspace-generators", - "id": "workspace-generators", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Legacy Cache", - "path": "/deprecated/legacy-cache", - "id": "legacy-cache", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Custom Tasks Runner", - "path": "/deprecated/custom-tasks-runner", - "id": "custom-tasks-runner", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Workspace Executors", - "path": "/deprecated/workspace-executors", - "id": "workspace-executors", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "runtimeCacheInputs", - "path": "/deprecated/runtime-cache-inputs", - "id": "runtime-cache-inputs", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "cacheableOperations", - "path": "/deprecated/cacheable-operations", - "id": "cacheable-operations", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "npmScope", - "path": "/deprecated/npm-scope", - "id": "npm-scope", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "globalImplicitDependencies", - "path": "/deprecated/global-implicit-dependencies", - "id": "global-implicit-dependencies", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Angular Schematics and Builders", - "path": "/deprecated/angular-schematics-builders", - "id": "angular-schematics-builders", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "v1 Nx Plugin API", - "path": "/deprecated/v1-nx-plugin-api", - "id": "v1-nx-plugin-api", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Rescope Packages from @nrwl to @nx", - "path": "/deprecated/rescope", - "id": "rescope", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps", - "path": "/deprecated/integrated-vs-package-based", - "id": "integrated-vs-package-based", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "See Also", "path": "/see-also", @@ -5417,62 +6602,6 @@ } ], "disableCollapsible": false - }, - { - "name": "CI Documentation", - "path": "/ci/intro/ci-with-nx", - "id": "ci", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "--skip-nx-cache flag", - "path": "/nx-api/nx/documents/affected#skip-nx-cache", - "id": "skip-nx-cache-flag", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "tasks-runner-options property", - "path": "/reference/nx-json#tasks-runner-options", - "id": "tasks-runner-options-property", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "nx.json reference: inputs and namedInputs", - "path": "/reference/nx-json#inputs-namedinputs", - "id": "nxjson-inputs", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Project Configuration reference: inputs and namedInputs", - "path": "/reference/project-configuration#inputs-and-namedinputs", - "id": "project-config-inputs", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "nx.json generator defaults", - "path": "/reference/nx-json#generators", - "id": "nxjson-generator-defaults", - "isExternal": true, - "children": [], - "disableCollapsible": false - }, - { - "name": "Site Map", - "path": "/see-also/sitemap", - "id": "sitemap", - "isExternal": false, - "children": [], - "disableCollapsible": false } ] }, @@ -5496,14 +6625,6 @@ ], "disableCollapsible": false }, - { - "name": "Extending Nx with Plugins", - "path": "/extending-nx/intro/getting-started", - "id": "getting-started", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Tutorials", "path": "/extending-nx/tutorials", @@ -5530,23 +6651,7 @@ "disableCollapsible": false }, { - "name": "Enforce Organizational Best Practices", - "path": "/extending-nx/tutorials/organization-specific-plugin", - "id": "organization-specific-plugin", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Create a Tooling Plugin", - "path": "/extending-nx/tutorials/tooling-plugin", - "id": "tooling-plugin", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Recipes", + "name": "Guides", "path": "/extending-nx/recipes", "id": "recipes", "isExternal": false, @@ -5667,115 +6772,54 @@ "disableCollapsible": false }, { - "name": "Write a Simple Generator", - "path": "/extending-nx/recipes/local-generators", - "id": "local-generators", + "name": "API", + "path": "/extending-nx/api", + "id": "api", "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Compose Generators", - "path": "/extending-nx/recipes/composing-generators", - "id": "composing-generators", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Provide Options for Generators", - "path": "/extending-nx/recipes/generator-options", - "id": "generator-options", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Create Files", - "path": "/extending-nx/recipes/creating-files", - "id": "creating-files", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Modify Files", - "path": "/extending-nx/recipes/modifying-files", - "id": "modifying-files", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Create a Sync Generator", - "path": "/extending-nx/recipes/create-sync-generator", - "id": "create-sync-generator", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Write a Migration", - "path": "/extending-nx/recipes/migration-generators", - "id": "migration-generators", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Write a Simple Executor", - "path": "/extending-nx/recipes/local-executors", - "id": "local-executors", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Compose Executors", - "path": "/extending-nx/recipes/compose-executors", - "id": "compose-executors", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Create a Preset", - "path": "/extending-nx/recipes/create-preset", - "id": "create-preset", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Create an Install Package", - "path": "/extending-nx/recipes/create-install-package", - "id": "create-install-package", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Infer Tasks or Projects", - "path": "/extending-nx/recipes/project-graph-plugins", - "id": "project-graph-plugins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish a Plugin", - "path": "/extending-nx/recipes/publish-plugin", - "id": "publish-plugin", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Hook into the Task Running Lifecycle", - "path": "/extending-nx/recipes/task-running-lifecycle", - "id": "task-running-lifecycle", - "isExternal": false, - "children": [], + "children": [ + { + "name": "Devkit", + "path": "/extending-nx/api/nx-devkit", + "id": "nx-devkit", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/extending-nx/api/nx-devkit/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Ng CLI Adapter", + "path": "/extending-nx/api/nx-devkit/ngcli-adapter", + "id": "ngcli-adapter", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + }, + { + "name": "Nx Plugin", + "path": "/extending-nx/api/plugin", + "id": "plugin", + "isExternal": false, + "children": [ + { + "name": "Overview", + "path": "/extending-nx/api/plugin/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "disableCollapsible": false + } + ], "disableCollapsible": false } ] @@ -5841,71 +6885,6 @@ ], "disableCollapsible": false }, - { - "name": "CI with Nx", - "path": "/ci/intro/ci-with-nx", - "id": "ci-with-nx", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Why Nx Cloud?", - "path": "/ci/intro/why-nx-cloud", - "id": "why-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Connect to Nx Cloud", - "path": "/ci/intro/connect-to-nx-cloud", - "id": "connect-to-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Tutorials", - "path": "/ci/intro/tutorials", - "id": "tutorials", - "isExternal": false, - "children": [ - { - "name": "Circle CI with Nx", - "path": "/ci/intro/tutorials/circle", - "id": "circle", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "GitHub Actions with Nx", - "path": "/ci/intro/tutorials/github-actions", - "id": "github-actions", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Circle CI with Nx", - "path": "/ci/intro/tutorials/circle", - "id": "circle", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "GitHub Actions with Nx", - "path": "/ci/intro/tutorials/github-actions", - "id": "github-actions", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Features", "path": "/ci/features", @@ -5979,70 +6958,6 @@ ], "disableCollapsible": false }, - { - "name": "Run Only Tasks Affected by a PR", - "path": "/ci/features/affected", - "id": "affected", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Use Remote Caching (Nx Replay)", - "path": "/ci/features/remote-cache", - "id": "remote-cache", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Distribute Task Execution (Nx Agents)", - "path": "/ci/features/distribute-task-execution", - "id": "distribute-task-execution", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Automatically Split E2E Tasks (Atomizer)", - "path": "/ci/features/split-e2e-tasks", - "id": "split-e2e-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Identify and Re-run Flaky Tasks", - "path": "/ci/features/flaky-tasks", - "id": "flaky-tasks", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Dynamically Allocate Agents", - "path": "/ci/features/dynamic-agents", - "id": "dynamic-agents", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Explain With AI", - "path": "/ci/features/explain-with-ai", - "id": "explain-with-ai", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "GitHub Integration", - "path": "/ci/features/github-integration", - "id": "github-integration", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Concepts", "path": "/ci/concepts", @@ -6093,47 +7008,7 @@ "disableCollapsible": false }, { - "name": "The Building Blocks of Fast CI", - "path": "/ci/concepts/building-blocks-fast-ci", - "id": "building-blocks-fast-ci", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Reduce Wasted Time in CI", - "path": "/ci/concepts/reduce-waste", - "id": "reduce-waste", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Parallelization and Distribution", - "path": "/ci/concepts/parallelization-distribution", - "id": "parallelization-distribution", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Cache Security", - "path": "/ci/concepts/cache-security", - "id": "cache-security", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Nx Cloud AI", - "path": "/ci/concepts/nx-cloud-ai", - "id": "nx-cloud-ai", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Recipes", + "name": "Guides", "path": "/ci/recipes", "id": "recipes", "isExternal": false, @@ -6469,680 +7344,6 @@ ], "disableCollapsible": false }, - { - "name": "Set Up CI", - "path": "/ci/recipes/set-up", - "id": "set-up", - "isExternal": false, - "children": [ - { - "name": "Setting up Azure Pipelines", - "path": "/ci/recipes/set-up/monorepo-ci-azure", - "id": "monorepo-ci-azure", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up CircleCI", - "path": "/ci/recipes/set-up/monorepo-ci-circle-ci", - "id": "monorepo-ci-circle-ci", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up GitHub Actions", - "path": "/ci/recipes/set-up/monorepo-ci-github-actions", - "id": "monorepo-ci-github-actions", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Jenkins", - "path": "/ci/recipes/set-up/monorepo-ci-jenkins", - "id": "monorepo-ci-jenkins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up GitLab", - "path": "/ci/recipes/set-up/monorepo-ci-gitlab", - "id": "monorepo-ci-gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Bitbucket", - "path": "/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines", - "id": "monorepo-ci-bitbucket-pipelines", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Setting up Azure Pipelines", - "path": "/ci/recipes/set-up/monorepo-ci-azure", - "id": "monorepo-ci-azure", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up CircleCI", - "path": "/ci/recipes/set-up/monorepo-ci-circle-ci", - "id": "monorepo-ci-circle-ci", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up GitHub Actions", - "path": "/ci/recipes/set-up/monorepo-ci-github-actions", - "id": "monorepo-ci-github-actions", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Jenkins", - "path": "/ci/recipes/set-up/monorepo-ci-jenkins", - "id": "monorepo-ci-jenkins", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up GitLab", - "path": "/ci/recipes/set-up/monorepo-ci-gitlab", - "id": "monorepo-ci-gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Setting up Bitbucket", - "path": "/ci/recipes/set-up/monorepo-ci-bitbucket-pipelines", - "id": "monorepo-ci-bitbucket-pipelines", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Security", - "path": "/ci/recipes/security", - "id": "security", - "isExternal": false, - "children": [ - { - "name": "Authenticate with Google Identity", - "path": "/ci/recipes/security/google-auth", - "id": "google-auth", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "CI Access Tokens", - "path": "/ci/recipes/security/access-tokens", - "id": "access-tokens", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Personal Access Tokens", - "path": "/ci/recipes/security/personal-access-tokens", - "id": "personal-access-tokens", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable End to End Encryption", - "path": "/ci/recipes/security/encryption", - "id": "encryption", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Authenticate with Google Identity", - "path": "/ci/recipes/security/google-auth", - "id": "google-auth", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "CI Access Tokens", - "path": "/ci/recipes/security/access-tokens", - "id": "access-tokens", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Personal Access Tokens", - "path": "/ci/recipes/security/personal-access-tokens", - "id": "personal-access-tokens", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable End to End Encryption", - "path": "/ci/recipes/security/encryption", - "id": "encryption", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Source Control Integration", - "path": "/ci/recipes/source-control-integration", - "id": "source-control-integration", - "isExternal": false, - "children": [ - { - "name": "Enable GitHub PR Integration", - "path": "/ci/recipes/source-control-integration/github", - "id": "github", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Bitbucket PR Integration", - "path": "/ci/recipes/source-control-integration/bitbucket", - "id": "bitbucket", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable GitLab MR Integration", - "path": "/ci/recipes/source-control-integration/gitlab", - "id": "gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Azure DevOps PR Integration", - "path": "/ci/recipes/source-control-integration/azure-devops", - "id": "azure-devops", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Enable GitHub PR Integration", - "path": "/ci/recipes/source-control-integration/github", - "id": "github", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Bitbucket PR Integration", - "path": "/ci/recipes/source-control-integration/bitbucket", - "id": "bitbucket", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable GitLab MR Integration", - "path": "/ci/recipes/source-control-integration/gitlab", - "id": "gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enable Azure DevOps PR Integration", - "path": "/ci/recipes/source-control-integration/azure-devops", - "id": "azure-devops", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Manual Distributed Task Execution", - "path": "/ci/recipes/dte", - "id": "dte", - "isExternal": false, - "children": [ - { - "name": "GitHub Actions Manual DTE", - "path": "/ci/recipes/dte/github-dte", - "id": "github-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Circle CI Manual DTE", - "path": "/ci/recipes/dte/circle-ci-dte", - "id": "circle-ci-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Azure Pipelines Manual DTE", - "path": "/ci/recipes/dte/azure-dte", - "id": "azure-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Bitbucket Pipelines Manual DTE", - "path": "/ci/recipes/dte/bitbucket-dte", - "id": "bitbucket-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "GitLab Manual DTE", - "path": "/ci/recipes/dte/gitlab-dte", - "id": "gitlab-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Jenkins Manual DTE", - "path": "/ci/recipes/dte/jenkins-dte", - "id": "jenkins-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "GitHub Actions Manual DTE", - "path": "/ci/recipes/dte/github-dte", - "id": "github-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Circle CI Manual DTE", - "path": "/ci/recipes/dte/circle-ci-dte", - "id": "circle-ci-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Azure Pipelines Manual DTE", - "path": "/ci/recipes/dte/azure-dte", - "id": "azure-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Bitbucket Pipelines Manual DTE", - "path": "/ci/recipes/dte/bitbucket-dte", - "id": "bitbucket-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "GitLab Manual DTE", - "path": "/ci/recipes/dte/gitlab-dte", - "id": "gitlab-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Jenkins Manual DTE", - "path": "/ci/recipes/dte/jenkins-dte", - "id": "jenkins-dte", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Enterprise", - "path": "/ci/recipes/enterprise", - "id": "enterprise", - "isExternal": false, - "children": [ - { - "name": "Single Tenant", - "path": "/ci/recipes/enterprise/single-tenant", - "id": "single-tenant", - "isExternal": false, - "children": [ - { - "name": "Single Tenant Nx Cloud Hosting", - "path": "/ci/recipes/enterprise/single-tenant/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitHub", - "path": "/ci/recipes/enterprise/single-tenant/auth-github", - "id": "auth-github", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitLab", - "path": "/ci/recipes/enterprise/single-tenant/auth-gitlab", - "id": "auth-gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket", - "id": "auth-bitbucket", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket Data Center", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket-data-center", - "id": "auth-bitbucket-data-center", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate via SAML", - "path": "/ci/recipes/enterprise/single-tenant/auth-saml", - "id": "auth-saml", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Custom GitHub App", - "path": "/ci/recipes/enterprise/single-tenant/custom-github-app", - "id": "custom-github-app", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Conformance", - "path": "/ci/recipes/enterprise/conformance", - "id": "conformance", - "isExternal": false, - "children": [ - { - "name": "Configure Conformance Rules in Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/configure-conformance-rules-in-nx-cloud", - "id": "configure-conformance-rules-in-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish Conformance Rules to Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/publish-conformance-rules-to-nx-cloud", - "id": "publish-conformance-rules-to-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Single Tenant", - "path": "/ci/recipes/enterprise/single-tenant", - "id": "single-tenant", - "isExternal": false, - "children": [ - { - "name": "Single Tenant Nx Cloud Hosting", - "path": "/ci/recipes/enterprise/single-tenant/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitHub", - "path": "/ci/recipes/enterprise/single-tenant/auth-github", - "id": "auth-github", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitLab", - "path": "/ci/recipes/enterprise/single-tenant/auth-gitlab", - "id": "auth-gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket", - "id": "auth-bitbucket", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket Data Center", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket-data-center", - "id": "auth-bitbucket-data-center", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate via SAML", - "path": "/ci/recipes/enterprise/single-tenant/auth-saml", - "id": "auth-saml", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Custom GitHub App", - "path": "/ci/recipes/enterprise/single-tenant/custom-github-app", - "id": "custom-github-app", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Single Tenant Nx Cloud Hosting", - "path": "/ci/recipes/enterprise/single-tenant/overview", - "id": "overview", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitHub", - "path": "/ci/recipes/enterprise/single-tenant/auth-github", - "id": "auth-github", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with GitLab", - "path": "/ci/recipes/enterprise/single-tenant/auth-gitlab", - "id": "auth-gitlab", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket", - "id": "auth-bitbucket", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate with BitBucket Data Center", - "path": "/ci/recipes/enterprise/single-tenant/auth-bitbucket-data-center", - "id": "auth-bitbucket-data-center", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Authenticate via SAML", - "path": "/ci/recipes/enterprise/single-tenant/auth-saml", - "id": "auth-saml", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Custom GitHub App", - "path": "/ci/recipes/enterprise/single-tenant/custom-github-app", - "id": "custom-github-app", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Conformance", - "path": "/ci/recipes/enterprise/conformance", - "id": "conformance", - "isExternal": false, - "children": [ - { - "name": "Configure Conformance Rules in Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/configure-conformance-rules-in-nx-cloud", - "id": "configure-conformance-rules-in-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish Conformance Rules to Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/publish-conformance-rules-to-nx-cloud", - "id": "publish-conformance-rules-to-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Configure Conformance Rules in Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/configure-conformance-rules-in-nx-cloud", - "id": "configure-conformance-rules-in-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Publish Conformance Rules to Nx Cloud", - "path": "/ci/recipes/enterprise/conformance/publish-conformance-rules-to-nx-cloud", - "id": "publish-conformance-rules-to-nx-cloud", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Other", - "path": "/ci/recipes/other", - "id": "other", - "isExternal": false, - "children": [ - { - "name": "Record Non-Nx Commands", - "path": "/ci/recipes/other/record-commands", - "id": "record-commands", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Prepare applications for deployment via CI", - "path": "/ci/recipes/other/ci-deployment", - "id": "ci-deployment", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Reduce the Number of Affected Projects in a CI Pipeline Execution", - "path": "/ci/recipes/other/cipe-affected-project-graph", - "id": "cipe-affected-project-graph", - "isExternal": false, - "children": [], - "disableCollapsible": false - } - ], - "disableCollapsible": false - }, - { - "name": "Record Non-Nx Commands", - "path": "/ci/recipes/other/record-commands", - "id": "record-commands", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Prepare applications for deployment via CI", - "path": "/ci/recipes/other/ci-deployment", - "id": "ci-deployment", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Reduce the Number of Affected Projects in a CI Pipeline Execution", - "path": "/ci/recipes/other/cipe-affected-project-graph", - "id": "cipe-affected-project-graph", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Reference", "path": "/ci/reference", @@ -7208,62 +7409,6 @@ ], "disableCollapsible": false }, - { - "name": "Configuration Options", - "path": "/ci/reference/config", - "id": "config", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "nx-cloud CLI", - "path": "/ci/reference/nx-cloud-cli", - "id": "nx-cloud-cli", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Launch Templates", - "path": "/ci/reference/launch-templates", - "id": "launch-templates", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Assignment Rules", - "path": "/ci/reference/assignment-rules", - "id": "assignment-rules", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Custom Steps", - "path": "/ci/reference/custom-steps", - "id": "custom-steps", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Environment Variables", - "path": "/ci/reference/env-vars", - "id": "env-vars", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, - { - "name": "Release Notes", - "path": "/ci/reference/release-notes", - "id": "release-notes", - "isExternal": false, - "children": [], - "disableCollapsible": false - }, { "name": "Troubleshooting", "path": "/ci/troubleshooting", @@ -7280,13 +7425,3812 @@ } ], "disableCollapsible": false + } + ] + }, + { + "id": "nx-api", + "menu": [ + { + "id": "angular", + "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", + "name": "executors", + "children": [ + { + "id": "delegate-build", + "path": "/nx-api/angular/executors/delegate-build", + "name": "delegate-build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ng-packagr-lite", + "path": "/nx-api/angular/executors/ng-packagr-lite", + "name": "ng-packagr-lite", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "package", + "path": "/nx-api/angular/executors/package", + "name": "package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "browser-esbuild", + "path": "/nx-api/angular/executors/browser-esbuild", + "name": "browser-esbuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-server", + "path": "/nx-api/angular/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-ssr", + "path": "/nx-api/angular/executors/module-federation-dev-ssr", + "name": "module-federation-dev-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/angular/executors/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "extract-i18n", + "path": "/nx-api/angular/executors/extract-i18n", + "name": "extract-i18n", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "webpack-browser", + "path": "/nx-api/angular/executors/webpack-browser", + "name": "webpack-browser", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/nx-api/angular/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "webpack-server", + "path": "/nx-api/angular/executors/webpack-server", + "name": "webpack-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/angular/generators", + "name": "generators", + "children": [ + { + "id": "add-linting", + "path": "/nx-api/angular/generators/add-linting", + "name": "add-linting", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/angular/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/angular/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/nx-api/angular/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-test", + "path": "/nx-api/angular/generators/component-test", + "name": "component-test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-application-executor", + "path": "/nx-api/angular/generators/convert-to-application-executor", + "name": "convert-to-application-executor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-rspack", + "path": "/nx-api/angular/generators/convert-to-rspack", + "name": "convert-to-rspack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "directive", + "path": "/nx-api/angular/generators/directive", + "name": "directive", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "federate-module", + "path": "/nx-api/angular/generators/federate-module", + "name": "federate-module", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/angular/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/angular/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library-secondary-entry-point", + "path": "/nx-api/angular/generators/library-secondary-entry-point", + "name": "library-secondary-entry-point", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remote", + "path": "/nx-api/angular/generators/remote", + "name": "remote", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "move", + "path": "/nx-api/angular/generators/move", + "name": "move", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-with-mf", + "path": "/nx-api/angular/generators/convert-to-with-mf", + "name": "convert-to-with-mf", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "host", + "path": "/nx-api/angular/generators/host", + "name": "host", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ng-add", + "path": "/nx-api/angular/generators/ng-add", + "name": "ng-add", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx", + "path": "/nx-api/angular/generators/ngrx", + "name": "ngrx", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx-feature-store", + "path": "/nx-api/angular/generators/ngrx-feature-store", + "name": "ngrx-feature-store", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ngrx-root-store", + "path": "/nx-api/angular/generators/ngrx-root-store", + "name": "ngrx-root-store", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pipe", + "path": "/nx-api/angular/generators/pipe", + "name": "pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-to-standalone", + "path": "/nx-api/angular/generators/scam-to-standalone", + "name": "scam-to-standalone", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam", + "path": "/nx-api/angular/generators/scam", + "name": "scam", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-directive", + "path": "/nx-api/angular/generators/scam-directive", + "name": "scam-directive", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "scam-pipe", + "path": "/nx-api/angular/generators/scam-pipe", + "name": "scam-pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-mf", + "path": "/nx-api/angular/generators/setup-mf", + "name": "setup-mf", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-ssr", + "path": "/nx-api/angular/generators/setup-ssr", + "name": "setup-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/nx-api/angular/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/nx-api/angular/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/angular/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/nx-api/angular/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "web-worker", + "path": "/nx-api/angular/generators/web-worker", + "name": "web-worker", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/angular/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false }, { - "name": "CI Execution Failed", - "path": "/ci/troubleshooting/ci-execution-failed", - "id": "ci-execution-failed", + "id": "cypress", + "path": "/nx-api/cypress", + "name": "cypress", + "children": [ + { + "id": "executors", + "path": "/nx-api/cypress/executors", + "name": "executors", + "children": [ + { + "id": "cypress", + "path": "/nx-api/cypress/executors/cypress", + "name": "cypress", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/cypress/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/cypress/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/cypress/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-configuration", + "path": "/nx-api/cypress/generators/component-configuration", + "name": "component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-to-cypress-11", + "path": "/nx-api/cypress/generators/migrate-to-cypress-11", + "name": "migrate-to-cypress-11", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/cypress/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/cypress/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "detox", + "path": "/nx-api/detox", + "name": "detox", + "children": [ + { + "id": "executors", + "path": "/nx-api/detox/executors", + "name": "executors", + "children": [ + { + "id": "build", + "path": "/nx-api/detox/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "test", + "path": "/nx-api/detox/executors/test", + "name": "test", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/detox/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/detox/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/detox/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/detox/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/detox/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "devkit", + "path": "/nx-api/devkit", + "name": "devkit", + "children": [ + { + "id": "documents", + "path": "/nx-api/devkit/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/devkit/documents/nx_devkit", + "id": "nx_devkit", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Ng CLI Adapter", + "path": "/reference/core-api/devkit/documents/ngcli_adapter", + "id": "ngcli_adapter", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "esbuild", + "path": "/nx-api/esbuild", + "name": "esbuild", + "children": [ + { + "id": "executors", + "path": "/nx-api/esbuild/executors", + "name": "executors", + "children": [ + { + "id": "esbuild", + "path": "/nx-api/esbuild/executors/esbuild", + "name": "esbuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/esbuild/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/esbuild/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/esbuild/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "eslint", + "path": "/nx-api/eslint", + "name": "eslint", + "children": [ + { + "id": "executors", + "path": "/nx-api/eslint/executors", + "name": "executors", + "children": [ + { + "id": "lint", + "path": "/nx-api/eslint/executors/lint", + "name": "lint", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/eslint/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/eslint/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "workspace-rules-project", + "path": "/nx-api/eslint/generators/workspace-rules-project", + "name": "workspace-rules-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "workspace-rule", + "path": "/nx-api/eslint/generators/workspace-rule", + "name": "workspace-rule", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-flat-config", + "path": "/nx-api/eslint/generators/convert-to-flat-config", + "name": "convert-to-flat-config", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/eslint/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/eslint/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "eslint-plugin", + "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", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "expo", + "path": "/nx-api/expo", + "name": "expo", + "children": [ + { + "id": "executors", + "path": "/nx-api/expo/executors", + "name": "executors", + "children": [ + { + "id": "update", + "path": "/nx-api/expo/executors/update", + "name": "update", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/nx-api/expo/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-list", + "path": "/nx-api/expo/executors/build-list", + "name": "build-list", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run", + "path": "/nx-api/expo/executors/run", + "name": "run", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "start", + "path": "/nx-api/expo/executors/start", + "name": "start", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-deps", + "path": "/nx-api/expo/executors/sync-deps", + "name": "sync-deps", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ensure-symlink", + "path": "/nx-api/expo/executors/ensure-symlink", + "name": "ensure-symlink", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "prebuild", + "path": "/nx-api/expo/executors/prebuild", + "name": "prebuild", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "install", + "path": "/nx-api/expo/executors/install", + "name": "install", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "export", + "path": "/nx-api/expo/executors/export", + "name": "export", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "submit", + "path": "/nx-api/expo/executors/submit", + "name": "submit", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "serve", + "path": "/nx-api/expo/executors/serve", + "name": "serve", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/expo/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/expo/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/expo/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/expo/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/expo/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/expo/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/expo/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "express", + "path": "/nx-api/express", + "name": "express", + "children": [ + { + "id": "generators", + "path": "/nx-api/express/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/express/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/express/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "gradle", + "path": "/nx-api/gradle", + "name": "gradle", + "children": [ + { + "id": "executors", + "path": "/nx-api/gradle/executors", + "name": "executors", + "children": [ + { + "id": "gradle", + "path": "/nx-api/gradle/executors/gradle", + "name": "gradle", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/gradle/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/gradle/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ci-workflow", + "path": "/nx-api/gradle/generators/ci-workflow", + "name": "ci-workflow", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/gradle/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "jest", + "path": "/nx-api/jest", + "name": "jest", + "children": [ + { + "id": "executors", + "path": "/nx-api/jest/executors", + "name": "executors", + "children": [ + { + "id": "jest", + "path": "/nx-api/jest/executors/jest", + "name": "jest", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/jest/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/jest/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/jest/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/jest/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/jest/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "js", + "path": "/nx-api/js", + "name": "js", + "children": [ + { + "id": "executors", + "path": "/nx-api/js/executors", + "name": "executors", + "children": [ + { + "id": "tsc", + "path": "/nx-api/js/executors/tsc", + "name": "tsc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "swc", + "path": "/nx-api/js/executors/swc", + "name": "swc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "node", + "path": "/nx-api/js/executors/node", + "name": "node", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "release-publish", + "path": "/nx-api/js/executors/release-publish", + "name": "release-publish", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "verdaccio", + "path": "/nx-api/js/executors/verdaccio", + "name": "verdaccio", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/js/generators", + "name": "generators", + "children": [ + { + "id": "library", + "path": "/nx-api/js/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/js/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-swc", + "path": "/nx-api/js/generators/convert-to-swc", + "name": "convert-to-swc", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "release-version", + "path": "/nx-api/js/generators/release-version", + "name": "release-version", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-verdaccio", + "path": "/nx-api/js/generators/setup-verdaccio", + "name": "setup-verdaccio", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-build", + "path": "/nx-api/js/generators/setup-build", + "name": "setup-build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "typescript-sync", + "path": "/nx-api/js/generators/typescript-sync", + "name": "typescript-sync", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-prettier", + "path": "/nx-api/js/generators/setup-prettier", + "name": "setup-prettier", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/js/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation", + "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", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "nest", + "path": "/nx-api/nest", + "name": "nest", + "children": [ + { + "id": "generators", + "path": "/nx-api/nest/generators", + "name": "generators", + "children": [ + { + "id": "application", + "path": "/nx-api/nest/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/nest/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/nest/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "class", + "path": "/nx-api/nest/generators/class", + "name": "class", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "controller", + "path": "/nx-api/nest/generators/controller", + "name": "controller", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "decorator", + "path": "/nx-api/nest/generators/decorator", + "name": "decorator", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "filter", + "path": "/nx-api/nest/generators/filter", + "name": "filter", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "gateway", + "path": "/nx-api/nest/generators/gateway", + "name": "gateway", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "guard", + "path": "/nx-api/nest/generators/guard", + "name": "guard", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "interceptor", + "path": "/nx-api/nest/generators/interceptor", + "name": "interceptor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "interface", + "path": "/nx-api/nest/generators/interface", + "name": "interface", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "middleware", + "path": "/nx-api/nest/generators/middleware", + "name": "middleware", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module", + "path": "/nx-api/nest/generators/module", + "name": "module", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pipe", + "path": "/nx-api/nest/generators/pipe", + "name": "pipe", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "provider", + "path": "/nx-api/nest/generators/provider", + "name": "provider", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resolver", + "path": "/nx-api/nest/generators/resolver", + "name": "resolver", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resource", + "path": "/nx-api/nest/generators/resource", + "name": "resource", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "service", + "path": "/nx-api/nest/generators/service", + "name": "service", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "next", + "path": "/nx-api/next", + "name": "next", + "children": [ + { + "id": "executors", + "path": "/nx-api/next/executors", + "name": "executors", + "children": [ + { + "id": "build", + "path": "/nx-api/next/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "server", + "path": "/nx-api/next/executors/server", + "name": "server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/next/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/next/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/next/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "page", + "path": "/nx-api/next/generators/page", + "name": "page", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/next/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/next/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "custom-server", + "path": "/nx-api/next/generators/custom-server", + "name": "custom-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/nx-api/next/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/next/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/next/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "node", + "path": "/nx-api/node", + "name": "node", + "children": [ + { + "id": "generators", + "path": "/nx-api/node/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/node/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/node/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/node/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-docker", + "path": "/nx-api/node/generators/setup-docker", + "name": "setup-docker", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/node/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "nuxt", + "path": "/nx-api/nuxt", + "name": "nuxt", + "children": [ + { + "id": "generators", + "path": "/nx-api/nuxt/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/nuxt/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/nuxt/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/nuxt/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/nuxt/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "nx", + "path": "/nx-api/nx", + "name": "nx", + "children": [ + { + "id": "documents", + "path": "/nx-api/nx/documents", + "name": "documents", + "children": [ + { + "name": "create-nx-workspace", + "path": "/reference/core-api/nx/documents/create-nx-workspace", + "id": "create-nx-workspace", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "init", + "path": "/reference/core-api/nx/documents/init", + "id": "init", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "generate", + "path": "/reference/core-api/nx/documents/generate", + "id": "generate", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "run", + "path": "/reference/core-api/nx/documents/run", + "id": "run", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "daemon", + "path": "/reference/core-api/nx/documents/daemon", + "id": "daemon", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "graph", + "path": "/reference/core-api/nx/documents/dep-graph", + "id": "dep-graph", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "run-many", + "path": "/reference/core-api/nx/documents/run-many", + "id": "run-many", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "affected", + "path": "/reference/core-api/nx/documents/affected", + "id": "affected", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "format:check", + "path": "/reference/core-api/nx/documents/format-check", + "id": "format-check", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "format:write", + "path": "/reference/core-api/nx/documents/format-write", + "id": "format-write", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "migrate", + "path": "/reference/core-api/nx/documents/migrate", + "id": "migrate", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "report", + "path": "/reference/core-api/nx/documents/report", + "id": "report", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "list", + "path": "/reference/core-api/nx/documents/list", + "id": "list", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "connect-to-nx-cloud", + "path": "/reference/core-api/nx/documents/connect-to-nx-cloud", + "id": "connect-to-nx-cloud", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "reset", + "path": "/reference/core-api/nx/documents/reset", + "id": "reset", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "repair", + "path": "/reference/core-api/nx/documents/repair", + "id": "repair", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "sync", + "path": "/reference/core-api/nx/documents/sync", + "id": "sync", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "sync:check", + "path": "/reference/core-api/nx/documents/sync-check", + "id": "sync-check", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "import", + "path": "/reference/core-api/nx/documents/import", + "id": "import", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "exec", + "path": "/reference/core-api/nx/documents/exec", + "id": "exec", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "watch", + "path": "/reference/core-api/nx/documents/watch", + "id": "watch", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "show", + "path": "/reference/core-api/nx/documents/show", + "id": "show", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "view-logs", + "path": "/reference/core-api/nx/documents/view-logs", + "id": "view-logs", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "release", + "path": "/reference/core-api/nx/documents/release", + "id": "release", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "add", + "path": "/reference/core-api/nx/documents/add", + "id": "add", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "login", + "path": "/reference/core-api/nx/documents/login", + "id": "login", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "logout", + "path": "/reference/core-api/nx/documents/logout", + "id": "logout", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/nx-api/nx/executors", + "name": "executors", + "children": [ + { + "id": "noop", + "path": "/nx-api/nx/executors/noop", + "name": "noop", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-commands", + "path": "/nx-api/nx/executors/run-commands", + "name": "run-commands", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-script", + "path": "/nx-api/nx/executors/run-script", + "name": "run-script", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/nx/generators", + "name": "generators", + "children": [ + { + "id": "connect-to-nx-cloud", + "path": "/nx-api/nx/generators/connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/nx/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "playwright", + "path": "/nx-api/playwright", + "name": "playwright", + "children": [ + { + "id": "executors", + "path": "/nx-api/playwright/executors", + "name": "executors", + "children": [ + { + "id": "playwright", + "path": "/nx-api/playwright/executors/playwright", + "name": "playwright", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/playwright/generators", + "name": "generators", + "children": [ + { + "id": "configuration", + "path": "/nx-api/playwright/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/playwright/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/playwright/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/playwright/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "plugin", + "path": "/nx-api/plugin", + "name": "plugin", + "children": [ + { + "id": "generators", + "path": "/nx-api/plugin/generators", + "name": "generators", + "children": [ + { + "id": "plugin", + "path": "/nx-api/plugin/generators/plugin", + "name": "plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "create-package", + "path": "/nx-api/plugin/generators/create-package", + "name": "create-package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "e2e-project", + "path": "/nx-api/plugin/generators/e2e-project", + "name": "e2e-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migration", + "path": "/nx-api/plugin/generators/migration", + "name": "migration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generator", + "path": "/nx-api/plugin/generators/generator", + "name": "generator", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executor", + "path": "/nx-api/plugin/generators/executor", + "name": "executor", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "plugin-lint-checks", + "path": "/nx-api/plugin/generators/plugin-lint-checks", + "name": "plugin-lint-checks", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preset", + "path": "/nx-api/plugin/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "react", + "path": "/nx-api/react", + "name": "react", + "children": [ + { + "id": "executors", + "path": "/nx-api/react/executors", + "name": "executors", + "children": [ + { + "id": "module-federation-dev-server", + "path": "/nx-api/react/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-ssr-dev-server", + "path": "/nx-api/react/executors/module-federation-ssr-dev-server", + "name": "module-federation-ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-static-server", + "path": "/nx-api/react/executors/module-federation-static-server", + "name": "module-federation-static-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/react/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/react/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/react/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/react/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/react/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "redux", + "path": "/nx-api/react/generators/redux", + "name": "redux", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/react/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/nx-api/react/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/nx-api/react/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "hook", + "path": "/nx-api/react/generators/hook", + "name": "hook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "host", + "path": "/nx-api/react/generators/host", + "name": "host", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remote", + "path": "/nx-api/react/generators/remote", + "name": "remote", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/nx-api/react/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-test", + "path": "/nx-api/react/generators/component-test", + "name": "component-test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/nx-api/react/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-ssr", + "path": "/nx-api/react/generators/setup-ssr", + "name": "setup-ssr", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "federate-module", + "path": "/nx-api/react/generators/federate-module", + "name": "federate-module", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/react/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "react-native", + "path": "/nx-api/react-native", + "name": "react-native", + "children": [ + { + "id": "executors", + "path": "/nx-api/react-native/executors", + "name": "executors", + "children": [ + { + "id": "run-android", + "path": "/nx-api/react-native/executors/run-android", + "name": "run-android", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-ios", + "path": "/nx-api/react-native/executors/run-ios", + "name": "run-ios", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "bundle", + "path": "/nx-api/react-native/executors/bundle", + "name": "bundle", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-android", + "path": "/nx-api/react-native/executors/build-android", + "name": "build-android", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build-ios", + "path": "/nx-api/react-native/executors/build-ios", + "name": "build-ios", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "start", + "path": "/nx-api/react-native/executors/start", + "name": "start", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-deps", + "path": "/nx-api/react-native/executors/sync-deps", + "name": "sync-deps", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ensure-symlink", + "path": "/nx-api/react-native/executors/ensure-symlink", + "name": "ensure-symlink", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook", + "path": "/nx-api/react-native/executors/storybook", + "name": "storybook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "pod-install", + "path": "/nx-api/react-native/executors/pod-install", + "name": "pod-install", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "upgrade", + "path": "/nx-api/react-native/executors/upgrade", + "name": "upgrade", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/react-native/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/react-native/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/react-native/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/react-native/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/react-native/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/react-native/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component-story", + "path": "/nx-api/react-native/generators/component-story", + "name": "component-story", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/nx-api/react-native/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "upgrade-native", + "path": "/nx-api/react-native/generators/upgrade-native", + "name": "upgrade-native", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "web-configuration", + "path": "/nx-api/react-native/generators/web-configuration", + "name": "web-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/react-native/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/react-native/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remix", + "path": "/nx-api/remix", + "name": "remix", + "children": [ + { + "id": "executors", + "path": "/nx-api/remix/executors", + "name": "executors", + "children": [ + { + "id": "serve", + "path": "/nx-api/remix/executors/serve", + "name": "serve", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/nx-api/remix/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/remix/generators", + "name": "generators", + "children": [ + { + "id": "preset", + "path": "/nx-api/remix/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup", + "path": "/nx-api/remix/generators/setup", + "name": "setup", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/remix/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-component-configuration", + "path": "/nx-api/remix/generators/cypress-component-configuration", + "name": "cypress-component-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/remix/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/remix/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "route", + "path": "/nx-api/remix/generators/route", + "name": "route", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "resource-route", + "path": "/nx-api/remix/generators/resource-route", + "name": "resource-route", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "action", + "path": "/nx-api/remix/generators/action", + "name": "action", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "loader", + "path": "/nx-api/remix/generators/loader", + "name": "loader", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "style", + "path": "/nx-api/remix/generators/style", + "name": "style", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/nx-api/remix/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/remix/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "meta", + "path": "/nx-api/remix/generators/meta", + "name": "meta", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "error-boundary", + "path": "/nx-api/remix/generators/error-boundary", + "name": "error-boundary", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/remix/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/remix/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "rollup", + "path": "/nx-api/rollup", + "name": "rollup", + "children": [ + { + "id": "executors", + "path": "/nx-api/rollup/executors", + "name": "executors", + "children": [ + { + "id": "rollup", + "path": "/nx-api/rollup/executors/rollup", + "name": "rollup", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/rollup/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/rollup/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/rollup/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/rollup/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/rollup/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "rsbuild", + "path": "/nx-api/rsbuild", + "name": "rsbuild", + "children": [ + { + "id": "generators", + "path": "/nx-api/rsbuild/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/rsbuild/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/rsbuild/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "rspack", + "path": "/nx-api/rspack", + "name": "rspack", + "children": [ + { + "id": "executors", + "path": "/nx-api/rspack/executors", + "name": "executors", + "children": [ + { + "id": "rspack", + "path": "/nx-api/rspack/executors/rspack", + "name": "rspack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/nx-api/rspack/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ssr-dev-server", + "path": "/nx-api/rspack/executors/ssr-dev-server", + "name": "ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-dev-server", + "path": "/nx-api/rspack/executors/module-federation-dev-server", + "name": "module-federation-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-ssr-dev-server", + "path": "/nx-api/rspack/executors/module-federation-ssr-dev-server", + "name": "module-federation-ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "module-federation-static-server", + "path": "/nx-api/rspack/executors/module-federation-static-server", + "name": "module-federation-static-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/rspack/generators", + "name": "generators", + "children": [ + { + "id": "configuration", + "path": "/nx-api/rspack/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "init", + "path": "/nx-api/rspack/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preset", + "path": "/nx-api/rspack/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/rspack/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-webpack", + "path": "/nx-api/rspack/generators/convert-webpack", + "name": "convert-webpack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-config-to-rspack-plugin", + "path": "/nx-api/rspack/generators/convert-config-to-rspack-plugin", + "name": "convert-config-to-rspack-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/rspack/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/rspack/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook", + "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", + "name": "executors", + "children": [ + { + "id": "storybook", + "path": "/nx-api/storybook/executors/storybook", + "name": "storybook", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/nx-api/storybook/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/storybook/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/storybook/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/storybook/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "cypress-project", + "path": "/nx-api/storybook/generators/cypress-project", + "name": "cypress-project", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/storybook/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-7", + "path": "/nx-api/storybook/generators/migrate-7", + "name": "migrate-7", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrate-8", + "path": "/nx-api/storybook/generators/migrate-8", + "name": "migrate-8", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/storybook/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "vite", + "path": "/nx-api/vite", + "name": "vite", + "children": [ + { + "id": "executors", + "path": "/nx-api/vite/executors", + "name": "executors", + "children": [ + { + "id": "dev-server", + "path": "/nx-api/vite/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "build", + "path": "/nx-api/vite/executors/build", + "name": "build", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "test", + "path": "/nx-api/vite/executors/test", + "name": "test", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "preview-server", + "path": "/nx-api/vite/executors/preview-server", + "name": "preview-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/vite/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/vite/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/vite/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-paths-plugin", + "path": "/nx-api/vite/generators/setup-paths-plugin", + "name": "setup-paths-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/vite/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "vitest", + "path": "/nx-api/vite/generators/vitest", + "name": "vitest", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/vite/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "vue", + "path": "/nx-api/vue", + "name": "vue", + "children": [ + { + "id": "generators", + "path": "/nx-api/vue/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/vue/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/vue/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "library", + "path": "/nx-api/vue/generators/library", + "name": "library", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "component", + "path": "/nx-api/vue/generators/component", + "name": "component", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "setup-tailwind", + "path": "/nx-api/vue/generators/setup-tailwind", + "name": "setup-tailwind", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "storybook-configuration", + "path": "/nx-api/vue/generators/storybook-configuration", + "name": "storybook-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "stories", + "path": "/nx-api/vue/generators/stories", + "name": "stories", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/vue/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "web", + "path": "/nx-api/web", + "name": "web", + "children": [ + { + "id": "executors", + "path": "/nx-api/web/executors", + "name": "executors", + "children": [ + { + "id": "file-server", + "path": "/nx-api/web/executors/file-server", + "name": "file-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/web/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/web/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "application", + "path": "/nx-api/web/generators/application", + "name": "application", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "static-config", + "path": "/nx-api/web/generators/static-config", + "name": "static-config", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "webpack", + "path": "/nx-api/webpack", + "name": "webpack", + "children": [ + { + "id": "executors", + "path": "/nx-api/webpack/executors", + "name": "executors", + "children": [ + { + "id": "webpack", + "path": "/nx-api/webpack/executors/webpack", + "name": "webpack", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "dev-server", + "path": "/nx-api/webpack/executors/dev-server", + "name": "dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ssr-dev-server", + "path": "/nx-api/webpack/executors/ssr-dev-server", + "name": "ssr-dev-server", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/webpack/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/webpack/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "configuration", + "path": "/nx-api/webpack/generators/configuration", + "name": "configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-config-to-webpack-plugin", + "path": "/nx-api/webpack/generators/convert-config-to-webpack-plugin", + "name": "convert-config-to-webpack-plugin", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-inferred", + "path": "/nx-api/webpack/generators/convert-to-inferred", + "name": "convert-to-inferred", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/webpack/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "workspace", + "path": "/nx-api/workspace", + "name": "workspace", + "children": [ + { + "id": "documents", + "path": "/nx-api/workspace/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/workspace/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Nx, NodeJS and Typescript Versions", + "path": "/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix", + "id": "nx-nodejs-typescript-version-matrix", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/nx-api/workspace/executors", + "name": "executors", + "children": [ + { + "id": "counter", + "path": "/nx-api/workspace/executors/counter", + "name": "counter", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/workspace/generators", + "name": "generators", + "children": [ + { + "id": "preset", + "path": "/nx-api/workspace/generators/preset", + "name": "preset", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "move", + "path": "/nx-api/workspace/generators/move", + "name": "move", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "remove", + "path": "/nx-api/workspace/generators/remove", + "name": "remove", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "convert-to-monorepo", + "path": "/nx-api/workspace/generators/convert-to-monorepo", + "name": "convert-to-monorepo", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "new", + "path": "/nx-api/workspace/generators/new", + "name": "new", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "run-commands", + "path": "/nx-api/workspace/generators/run-commands", + "name": "run-commands", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "fix-configuration", + "path": "/nx-api/workspace/generators/fix-configuration", + "name": "fix-configuration", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "npm-package", + "path": "/nx-api/workspace/generators/npm-package", + "name": "npm-package", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "ci-workflow", + "path": "/nx-api/workspace/generators/ci-workflow", + "name": "ci-workflow", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "infer-targets", + "path": "/nx-api/workspace/generators/infer-targets", + "name": "infer-targets", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "migrations", + "path": "/nx-api/workspace/migrations", + "name": "migrations", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "azure-cache", + "path": "/nx-api/azure-cache", + "name": "azure-cache", + "children": [ + { + "id": "documents", + "path": "/nx-api/azure-cache/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/azure-cache/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "conformance", + "path": "/nx-api/conformance", + "name": "conformance", + "children": [ + { + "id": "documents", + "path": "/nx-api/conformance/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/conformance/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + }, + { + "name": "Create a Conformance Rule", + "path": "/reference/core-api/conformance/documents/create-conformance-rule", + "id": "create-conformance-rule", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "executors", + "path": "/nx-api/conformance/executors", + "name": "executors", + "children": [ + { + "id": "bundle-rules", + "path": "/nx-api/conformance/executors/bundle-rules", + "name": "bundle-rules", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/conformance/generators", + "name": "generators", + "children": [ + { + "id": "create-rule", + "path": "/nx-api/conformance/generators/create-rule", + "name": "create-rule", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "owners", + "path": "/nx-api/owners", + "name": "owners", + "children": [ + { + "id": "documents", + "path": "/nx-api/owners/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/owners/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/owners/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/owners/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "sync-codeowners-file", + "path": "/nx-api/owners/generators/sync-codeowners-file", + "name": "sync-codeowners-file", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "gcs-cache", + "path": "/nx-api/gcs-cache", + "name": "gcs-cache", + "children": [ + { + "id": "documents", + "path": "/nx-api/gcs-cache/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/gcs-cache/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "s3-cache", + "path": "/nx-api/s3-cache", + "name": "s3-cache", + "children": [ + { + "id": "documents", + "path": "/nx-api/s3-cache/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/s3-cache/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "shared-fs-cache", + "path": "/nx-api/shared-fs-cache", + "name": "shared-fs-cache", + "children": [ + { + "id": "documents", + "path": "/nx-api/shared-fs-cache/documents", + "name": "documents", + "children": [ + { + "name": "Overview", + "path": "/reference/core-api/shared-fs-cache/documents/overview", + "id": "overview", + "isExternal": false, + "children": [], + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + }, + { + "id": "generators", + "path": "/nx-api/shared-fs-cache/generators", + "name": "generators", + "children": [ + { + "id": "init", + "path": "/nx-api/shared-fs-cache/generators/init", + "name": "init", + "children": [], + "isExternal": false, + "disableCollapsible": false + } + ], + "isExternal": false, + "disableCollapsible": false + } + ], "isExternal": false, - "children": [], "disableCollapsible": false } ] diff --git a/docs/generated/manifests/new-nx-api.json b/docs/generated/manifests/new-nx-api.json new file mode 100644 index 0000000000..48baaf98e1 --- /dev/null +++ b/docs/generated/manifests/new-nx-api.json @@ -0,0 +1,5788 @@ +{ + "angular": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "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" + } + }, + "root": "/packages/angular", + "source": "/packages/angular/src", + "executors": { + "/technologies/angular/api/executors/delegate-build": { + "description": "Delegates the build to a different target while supporting incremental builds.", + "file": "generated/packages/angular/executors/delegate-build.json", + "hidden": false, + "name": "delegate-build", + "originalFilePath": "/packages/angular/src/executors/delegate-build/schema.json", + "path": "/technologies/angular/api/executors/delegate-build", + "type": "executor" + }, + "/technologies/angular/api/executors/ng-packagr-lite": { + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", + "file": "generated/packages/angular/executors/ng-packagr-lite.json", + "hidden": false, + "name": "ng-packagr-lite", + "originalFilePath": "/packages/angular/src/executors/ng-packagr-lite/schema.json", + "path": "/technologies/angular/api/executors/ng-packagr-lite", + "type": "executor" + }, + "/technologies/angular/api/executors/package": { + "description": "Builds and packages an Angular library producing an output following the Angular Package Format (APF) to be distributed as an NPM package.\n\nThis executor is a drop-in replacement for the `@angular-devkit/build-angular:ng-packagr` and `@angular/build:ng-packagr` builders, with additional support for incremental builds.", + "file": "generated/packages/angular/executors/package.json", + "hidden": false, + "name": "package", + "originalFilePath": "/packages/angular/src/executors/package/schema.json", + "path": "/technologies/angular/api/executors/package", + "type": "executor" + }, + "/technologies/angular/api/executors/browser-esbuild": { + "description": "Builds an Angular application using [esbuild](https://esbuild.github.io/).", + "file": "generated/packages/angular/executors/browser-esbuild.json", + "hidden": false, + "name": "browser-esbuild", + "originalFilePath": "/packages/angular/src/executors/browser-esbuild/schema.json", + "path": "/technologies/angular/api/executors/browser-esbuild", + "type": "executor" + }, + "/technologies/angular/api/executors/module-federation-dev-server": { + "description": "Serves host [Module Federation](https://module-federation.io/) applications ([webpack](https://webpack.js.org/)-based) allowing to specify which remote applications should be served with the host.", + "file": "generated/packages/angular/executors/module-federation-dev-server.json", + "hidden": false, + "name": "module-federation-dev-server", + "originalFilePath": "/packages/angular/src/executors/module-federation-dev-server/schema.json", + "path": "/technologies/angular/api/executors/module-federation-dev-server", + "type": "executor" + }, + "/technologies/angular/api/executors/module-federation-dev-ssr": { + "description": "The module-federation-ssr-dev-server executor is reserved exclusively for use with host SSR Module Federation applications. It allows the user to specify which remote applications should be served with the host.", + "file": "generated/packages/angular/executors/module-federation-dev-ssr.json", + "hidden": false, + "name": "module-federation-dev-ssr", + "originalFilePath": "/packages/angular/src/executors/module-federation-ssr-dev-server/schema.json", + "path": "/technologies/angular/api/executors/module-federation-dev-ssr", + "type": "executor" + }, + "/technologies/angular/api/executors/application": { + "description": "Builds an Angular application using [esbuild](https://esbuild.github.io/) with integrated SSR and prerendering capabilities.", + "file": "generated/packages/angular/executors/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/angular/src/executors/application/schema.json", + "path": "/technologies/angular/api/executors/application", + "type": "executor" + }, + "/technologies/angular/api/executors/extract-i18n": { + "description": "Extracts i18n messages from source code.", + "file": "generated/packages/angular/executors/extract-i18n.json", + "hidden": false, + "name": "extract-i18n", + "originalFilePath": "/packages/angular/src/executors/extract-i18n/schema.json", + "path": "/technologies/angular/api/executors/extract-i18n", + "type": "executor" + }, + "/technologies/angular/api/executors/webpack-browser": { + "description": "Builds an Angular application using [webpack](https://webpack.js.org/).", + "file": "generated/packages/angular/executors/webpack-browser.json", + "hidden": false, + "name": "webpack-browser", + "originalFilePath": "/packages/angular/src/builders/webpack-browser/schema.json", + "path": "/technologies/angular/api/executors/webpack-browser", + "type": "executor" + }, + "/technologies/angular/api/executors/dev-server": { + "description": "Serves an Angular application using [webpack](https://webpack.js.org/) when the build target is using a webpack-based executor, or [Vite](https://vitejs.dev/) when the build target uses an [esbuild](https://esbuild.github.io/)-based executor.", + "file": "generated/packages/angular/executors/dev-server.json", + "hidden": false, + "name": "dev-server", + "originalFilePath": "/packages/angular/src/builders/dev-server/schema.json", + "path": "/technologies/angular/api/executors/dev-server", + "type": "executor" + }, + "/technologies/angular/api/executors/webpack-server": { + "description": "Builds a server Angular application using [webpack](https://webpack.js.org/). This executor is a drop-in replacement for the `@angular-devkit/build-angular:server` builder provided by the Angular CLI. It is usually used in tandem with the `@nx/angular:webpack-browser` executor when your Angular application uses a custom webpack configuration.", + "file": "generated/packages/angular/executors/webpack-server.json", + "hidden": false, + "name": "webpack-server", + "originalFilePath": "/packages/angular/src/builders/webpack-server/schema.json", + "path": "/technologies/angular/api/executors/webpack-server", + "type": "executor" + } + }, + "generators": { + "/technologies/angular/api/generators/add-linting": { + "description": "Adds linting configuration to an Angular project.", + "file": "generated/packages/angular/generators/add-linting.json", + "hidden": true, + "name": "add-linting", + "originalFilePath": "/packages/angular/src/generators/add-linting/schema.json", + "path": "/technologies/angular/api/generators/add-linting", + "type": "generator" + }, + "/technologies/angular/api/generators/application": { + "description": "Creates an Angular application.", + "file": "generated/packages/angular/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/angular/src/generators/application/schema.json", + "path": "/technologies/angular/api/generators/application", + "type": "generator" + }, + "/technologies/angular/api/generators/component": { + "description": "Generate an Angular Component.", + "file": "generated/packages/angular/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/angular/src/generators/component/schema.json", + "path": "/technologies/angular/api/generators/component", + "type": "generator" + }, + "/technologies/angular/api/generators/component-story": { + "description": "Creates a stories.ts file for a component.", + "file": "generated/packages/angular/generators/component-story.json", + "hidden": true, + "name": "component-story", + "originalFilePath": "/packages/angular/src/generators/component-story/schema.json", + "path": "/technologies/angular/api/generators/component-story", + "type": "generator" + }, + "/technologies/angular/api/generators/component-test": { + "description": "Creates a cypress component test file for a component.", + "file": "generated/packages/angular/generators/component-test.json", + "hidden": false, + "name": "component-test", + "originalFilePath": "/packages/angular/src/generators/component-test/schema.json", + "path": "/technologies/angular/api/generators/component-test", + "type": "generator" + }, + "/technologies/angular/api/generators/convert-to-application-executor": { + "description": "Converts projects to use the `@nx/angular:application` executor or the `@angular-devkit/build-angular:application` builder.", + "file": "generated/packages/angular/generators/convert-to-application-executor.json", + "hidden": false, + "name": "convert-to-application-executor", + "originalFilePath": "/packages/angular/src/generators/convert-to-application-executor/schema.json", + "path": "/technologies/angular/api/generators/convert-to-application-executor", + "type": "generator" + }, + "/technologies/angular/api/generators/convert-to-rspack": { + "description": "Converts Angular Webpack projects to use Rspack.", + "file": "generated/packages/angular/generators/convert-to-rspack.json", + "hidden": false, + "name": "convert-to-rspack", + "originalFilePath": "/packages/angular/src/generators/convert-to-rspack/schema.json", + "path": "/technologies/angular/api/generators/convert-to-rspack", + "type": "generator" + }, + "/technologies/angular/api/generators/directive": { + "description": "Generate an Angular directive.", + "file": "generated/packages/angular/generators/directive.json", + "hidden": false, + "name": "directive", + "originalFilePath": "/packages/angular/src/generators/directive/schema.json", + "path": "/technologies/angular/api/generators/directive", + "type": "generator" + }, + "/technologies/angular/api/generators/federate-module": { + "description": "Create a federated module, which is exposed by a remote and can be subsequently loaded by a host.", + "file": "generated/packages/angular/generators/federate-module.json", + "hidden": false, + "name": "federate-module", + "originalFilePath": "/packages/angular/src/generators/federate-module/schema.json", + "path": "/technologies/angular/api/generators/federate-module", + "type": "generator" + }, + "/technologies/angular/api/generators/init": { + "description": "Initializes the `@nrwl/angular` plugin.", + "file": "generated/packages/angular/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/angular/src/generators/init/schema.json", + "path": "/technologies/angular/api/generators/init", + "type": "generator" + }, + "/technologies/angular/api/generators/library": { + "description": "Creates an Angular library.", + "file": "generated/packages/angular/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/angular/src/generators/library/schema.json", + "path": "/technologies/angular/api/generators/library", + "type": "generator" + }, + "/technologies/angular/api/generators/library-secondary-entry-point": { + "description": "Creates a secondary entry point for an Angular publishable library.", + "file": "generated/packages/angular/generators/library-secondary-entry-point.json", + "hidden": false, + "name": "library-secondary-entry-point", + "originalFilePath": "/packages/angular/src/generators/library-secondary-entry-point/schema.json", + "path": "/technologies/angular/api/generators/library-secondary-entry-point", + "type": "generator" + }, + "/technologies/angular/api/generators/remote": { + "description": "Generate a Remote Angular Module Federation Application.", + "file": "generated/packages/angular/generators/remote.json", + "hidden": false, + "name": "remote", + "originalFilePath": "/packages/angular/src/generators/remote/schema.json", + "path": "/technologies/angular/api/generators/remote", + "type": "generator" + }, + "/technologies/angular/api/generators/move": { + "description": "Moves an Angular application or library to another folder within the workspace and updates the project configuration.", + "file": "generated/packages/angular/generators/move.json", + "hidden": false, + "name": "move", + "originalFilePath": "/packages/angular/src/generators/move/schema.json", + "path": "/technologies/angular/api/generators/move", + "type": "generator" + }, + "/technologies/angular/api/generators/convert-to-with-mf": { + "description": "Converts an old micro frontend configuration to use the new withModuleFederation helper. It will run successfully if the following conditions are met: \n - Is either a host or remote application \n - Shared npm package configurations have not been modified \n - Name used to identify the Micro Frontend application matches the project name \n\n{% callout type=\"warning\" title=\"Overrides\" %}This generator will overwrite your webpack config. If you have additional custom configuration in your config file, it will be lost!{% /callout %}", + "file": "generated/packages/angular/generators/convert-to-with-mf.json", + "hidden": false, + "name": "convert-to-with-mf", + "originalFilePath": "/packages/angular/src/generators/convert-to-with-mf/schema.json", + "path": "/technologies/angular/api/generators/convert-to-with-mf", + "type": "generator" + }, + "/technologies/angular/api/generators/host": { + "description": "Generate a Host Angular Module Federation Application.", + "file": "generated/packages/angular/generators/host.json", + "hidden": false, + "name": "host", + "originalFilePath": "/packages/angular/src/generators/host/schema.json", + "path": "/technologies/angular/api/generators/host", + "type": "generator" + }, + "/technologies/angular/api/generators/ng-add": { + "description": "Migrates an Angular CLI workspace to Nx or adds the Angular plugin to an Nx workspace.", + "file": "generated/packages/angular/generators/ng-add.json", + "hidden": true, + "name": "ng-add", + "originalFilePath": "/packages/angular/src/generators/ng-add/schema.json", + "path": "/technologies/angular/api/generators/ng-add", + "type": "generator" + }, + "/technologies/angular/api/generators/ngrx": { + "description": "Adds NgRx support to an application or library.", + "file": "generated/packages/angular/generators/ngrx.json", + "hidden": false, + "name": "ngrx", + "originalFilePath": "/packages/angular/src/generators/ngrx/schema.json", + "path": "/technologies/angular/api/generators/ngrx", + "type": "generator" + }, + "/technologies/angular/api/generators/ngrx-feature-store": { + "description": "Adds an NgRx Feature Store to an application or library.", + "file": "generated/packages/angular/generators/ngrx-feature-store.json", + "hidden": false, + "name": "ngrx-feature-store", + "originalFilePath": "/packages/angular/src/generators/ngrx-feature-store/schema.json", + "path": "/technologies/angular/api/generators/ngrx-feature-store", + "type": "generator" + }, + "/technologies/angular/api/generators/ngrx-root-store": { + "description": "Adds an NgRx Root Store to an application.", + "file": "generated/packages/angular/generators/ngrx-root-store.json", + "hidden": false, + "name": "ngrx-root-store", + "originalFilePath": "/packages/angular/src/generators/ngrx-root-store/schema.json", + "path": "/technologies/angular/api/generators/ngrx-root-store", + "type": "generator" + }, + "/technologies/angular/api/generators/pipe": { + "description": "Generate an Angular Pipe", + "file": "generated/packages/angular/generators/pipe.json", + "hidden": false, + "name": "pipe", + "originalFilePath": "/packages/angular/src/generators/pipe/schema.json", + "path": "/technologies/angular/api/generators/pipe", + "type": "generator" + }, + "/technologies/angular/api/generators/scam-to-standalone": { + "description": "Convert an existing Single Component Angular Module (SCAM) to a Standalone Component.", + "file": "generated/packages/angular/generators/scam-to-standalone.json", + "hidden": false, + "name": "scam-to-standalone", + "originalFilePath": "/packages/angular/src/generators/scam-to-standalone/schema.json", + "path": "/technologies/angular/api/generators/scam-to-standalone", + "type": "generator" + }, + "/technologies/angular/api/generators/scam": { + "description": "Generate a component with an accompanying Single Component Angular Module (SCAM).", + "file": "generated/packages/angular/generators/scam.json", + "hidden": false, + "name": "scam", + "originalFilePath": "/packages/angular/src/generators/scam/schema.json", + "path": "/technologies/angular/api/generators/scam", + "type": "generator" + }, + "/technologies/angular/api/generators/scam-directive": { + "description": "Generate a directive with an accompanying Single Component Angular Module (SCAM).", + "file": "generated/packages/angular/generators/scam-directive.json", + "hidden": false, + "name": "scam-directive", + "originalFilePath": "/packages/angular/src/generators/scam-directive/schema.json", + "path": "/technologies/angular/api/generators/scam-directive", + "type": "generator" + }, + "/technologies/angular/api/generators/scam-pipe": { + "description": "Generate a pipe with an accompanying Single Component Angular Module (SCAM).", + "file": "generated/packages/angular/generators/scam-pipe.json", + "hidden": false, + "name": "scam-pipe", + "originalFilePath": "/packages/angular/src/generators/scam-pipe/schema.json", + "path": "/technologies/angular/api/generators/scam-pipe", + "type": "generator" + }, + "/technologies/angular/api/generators/setup-mf": { + "description": "Generate a Module Federation configuration for a given Angular application.", + "file": "generated/packages/angular/generators/setup-mf.json", + "hidden": false, + "name": "setup-mf", + "originalFilePath": "/packages/angular/src/generators/setup-mf/schema.json", + "path": "/technologies/angular/api/generators/setup-mf", + "type": "generator" + }, + "/technologies/angular/api/generators/setup-ssr": { + "description": "Generate Angular Universal (SSR) setup for an Angular application.", + "file": "generated/packages/angular/generators/setup-ssr.json", + "hidden": false, + "name": "setup-ssr", + "originalFilePath": "/packages/angular/src/generators/setup-ssr/schema.json", + "path": "/technologies/angular/api/generators/setup-ssr", + "type": "generator" + }, + "/technologies/angular/api/generators/setup-tailwind": { + "description": "Configures Tailwind CSS for an application or a buildable/publishable library.", + "file": "generated/packages/angular/generators/setup-tailwind.json", + "hidden": false, + "name": "setup-tailwind", + "originalFilePath": "/packages/angular/src/generators/setup-tailwind/schema.json", + "path": "/technologies/angular/api/generators/setup-tailwind", + "type": "generator" + }, + "/technologies/angular/api/generators/stories": { + "description": "Creates stories/specs for all components declared in a project.", + "file": "generated/packages/angular/generators/stories.json", + "hidden": false, + "name": "stories", + "originalFilePath": "/packages/angular/src/generators/stories/schema.json", + "path": "/technologies/angular/api/generators/stories", + "type": "generator" + }, + "/technologies/angular/api/generators/storybook-configuration": { + "description": "Adds Storybook configuration to a project.", + "file": "generated/packages/angular/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/angular/src/generators/storybook-configuration/schema.json", + "path": "/technologies/angular/api/generators/storybook-configuration", + "type": "generator" + }, + "/technologies/angular/api/generators/cypress-component-configuration": { + "description": "Setup Cypress component testing for a project.", + "file": "generated/packages/angular/generators/cypress-component-configuration.json", + "hidden": false, + "name": "cypress-component-configuration", + "originalFilePath": "/packages/angular/src/generators/cypress-component-configuration/schema.json", + "path": "/technologies/angular/api/generators/cypress-component-configuration", + "type": "generator" + }, + "/technologies/angular/api/generators/web-worker": { + "description": "Creates a Web Worker.", + "file": "generated/packages/angular/generators/web-worker.json", + "hidden": false, + "name": "web-worker", + "originalFilePath": "/packages/angular/src/generators/web-worker/schema.json", + "path": "/technologies/angular/api/generators/web-worker", + "type": "generator" + } + }, + "migrations": { + "/technologies/angular/api/migrations/update-angular-cli-version-20-0-0-rc-3": { + "description": "Update the @angular/cli package version to 20.0.0-rc.3.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0-rc-3.json", + "hidden": false, + "name": "update-angular-cli-version-20-0-0-rc-3", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-20-0-0-rc-3", + "type": "migration" + }, + "/technologies/angular/api/migrations/migrate-provide-server-rendering-import": { + "description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.", + "file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json", + "hidden": false, + "name": "migrate-provide-server-rendering-import", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/migrate-provide-server-rendering-import", + "type": "migration" + }, + "/technologies/angular/api/migrations/replace-provide-server-routing": { + "description": "Replace `provideServerRouting` with `provideServerRendering` using `withRoutes`.", + "file": "generated/packages/angular/migrations/replace-provide-server-routing.json", + "hidden": false, + "name": "replace-provide-server-routing", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/replace-provide-server-routing", + "type": "migration" + }, + "/technologies/angular/api/migrations/set-generator-defaults-for-previous-style-guide": { + "description": "Update the generator defaults to maintain the previous style guide behavior.", + "file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json", + "hidden": false, + "name": "set-generator-defaults-for-previous-style-guide", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/set-generator-defaults-for-previous-style-guide", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-module-resolution": { + "description": "Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.", + "file": "generated/packages/angular/migrations/update-module-resolution.json", + "hidden": false, + "name": "update-module-resolution", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-module-resolution", + "type": "migration" + }, + "/technologies/angular/api/migrations/21.2.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/21.2.0-package-updates.json", + "hidden": false, + "name": "21.2.0-package-updates", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/21.2.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/21.1.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/21.1.0-package-updates.json", + "hidden": false, + "name": "21.1.0-package-updates", + "version": "21.1.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/21.1.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence": { + "description": "Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.", + "file": "generated/packages/angular/migrations/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.json", + "hidden": false, + "name": "change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence", + "version": "21.0.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence", + "type": "migration" + }, + "/technologies/angular/api/migrations/set-continuous-option": { + "description": "Set the `continuous` option to `true` for continuous tasks.", + "file": "generated/packages/angular/migrations/set-continuous-option.json", + "hidden": false, + "name": "set-continuous-option", + "version": "21.0.0-beta.3", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/set-continuous-option", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.8.1-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.8.1-package-updates.json", + "hidden": false, + "name": "20.8.1-package-updates", + "version": "20.8.1-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.8.1-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.5.0-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.5.0-angular-eslint-package-updates.json", + "hidden": false, + "name": "20.5.0-angular-eslint-package-updates", + "version": "20.5.0-rc.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.5.0-angular-eslint-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-19-2-0": { + "description": "Update the @angular/cli package version to ~19.2.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-19-2-0.json", + "hidden": false, + "name": "update-angular-cli-version-19-2-0", + "version": "20.5.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-19-2-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.5.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.5.0-package-updates.json", + "hidden": false, + "name": "20.5.0-package-updates", + "version": "20.5.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.5.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-19-1-0": { + "description": "Update the @angular/cli package version to ~19.1.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-19-1-0.json", + "hidden": false, + "name": "update-angular-cli-version-19-1-0", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-19-1-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.4.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/ensure-nx-module-federation-package": { + "description": "If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.", + "file": "generated/packages/angular/migrations/ensure-nx-module-federation-package.json", + "hidden": false, + "name": "ensure-nx-module-federation-package", + "version": "20.3.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/ensure-nx-module-federation-package", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.3-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.3-ngrx-package-updates.json", + "hidden": false, + "name": "20.2.3-ngrx-package-updates", + "version": "20.3.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.3-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.2-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.2-angular-eslint-package-updates.json", + "hidden": false, + "name": "20.2.2-angular-eslint-package-updates", + "version": "20.2.2-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.2-angular-eslint-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/remove-angular-eslint-rules": { + "description": "Remove Angular ESLint rules that were removed in v19.0.0.", + "file": "generated/packages/angular/migrations/remove-angular-eslint-rules.json", + "hidden": false, + "name": "remove-angular-eslint-rules", + "version": "20.2.0-beta.8", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/remove-angular-eslint-rules", + "type": "migration" + }, + "/technologies/angular/api/migrations/remove-tailwind-config-from-ng-packagr-executors": { + "description": "Remove the deprecated 'tailwindConfig' option from ng-packagr executors. Tailwind CSS configurations located at the project or workspace root will be picked up automatically.", + "file": "generated/packages/angular/migrations/remove-tailwind-config-from-ng-packagr-executors.json", + "hidden": false, + "name": "remove-tailwind-config-from-ng-packagr-executors", + "version": "20.2.0-beta.8", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/remove-tailwind-config-from-ng-packagr-executors", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.0-analog-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.0-analog-package-updates.json", + "hidden": false, + "name": "20.2.0-analog-package-updates", + "version": "20.2.0-beta.7", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.0-analog-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/disable-angular-eslint-prefer-standalone": { + "description": "Disable the Angular ESLint prefer-standalone rule if not set.", + "file": "generated/packages/angular/migrations/disable-angular-eslint-prefer-standalone.json", + "hidden": false, + "name": "disable-angular-eslint-prefer-standalone", + "version": "20.2.0-beta.6", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/disable-angular-eslint-prefer-standalone", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-19-0-0": { + "description": "Update the @angular/cli package version to ~19.0.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-19-0-0.json", + "hidden": false, + "name": "update-angular-cli-version-19-0-0", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-19-0-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/add-localize-polyfill-to-targets": { + "description": "Add the '@angular/localize/init' polyfill to the 'polyfills' option of targets using esbuild-based executors.", + "file": "generated/packages/angular/migrations/add-localize-polyfill-to-targets.json", + "hidden": false, + "name": "add-localize-polyfill-to-targets", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/add-localize-polyfill-to-targets", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-ssr-imports-to-use-node-entry-point": { + "description": "Update '@angular/ssr' import paths to use the new '/node' entry point when 'CommonEngine' is detected.", + "file": "generated/packages/angular/migrations/update-angular-ssr-imports-to-use-node-entry-point.json", + "hidden": false, + "name": "update-angular-ssr-imports-to-use-node-entry-point", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-ssr-imports-to-use-node-entry-point", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.0-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.0-jest-package-updates.json", + "hidden": false, + "name": "20.2.0-jest-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.0-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.0-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.0-angular-eslint-package-updates.json", + "hidden": false, + "name": "20.2.0-angular-eslint-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.0-angular-eslint-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/20.2.0-module-federation-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/20.2.0-module-federation-package-updates.json", + "hidden": false, + "name": "20.2.0-module-federation-package-updates", + "version": "20.2.0-beta.3", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/20.2.0-module-federation-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-20-2-0-update-module-federation-config-import": { + "description": "Update the ModuleFederationConfig import use @nx/module-federation.", + "file": "generated/packages/angular/migrations/update-20-2-0-update-module-federation-config-import.json", + "hidden": false, + "name": "update-20-2-0-update-module-federation-config-import", + "version": "20.2.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-20-2-0-update-module-federation-config-import", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-20-2-0-update-with-module-federation-import": { + "description": "Update the withModuleFederation import use @nx/module-federation/angular.", + "file": "generated/packages/angular/migrations/update-20-2-0-update-with-module-federation-import.json", + "hidden": false, + "name": "update-20-2-0-update-with-module-federation-import", + "version": "20.2.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-20-2-0-update-with-module-federation-import", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.7.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.7.0-package-updates.json", + "hidden": false, + "name": "19.7.0-package-updates", + "version": "19.7.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.7.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-19-6-1-ensure-module-federation-target-defaults": { + "description": "Ensure Target Defaults are set correctly for Module Federation.", + "file": "generated/packages/angular/migrations/update-19-6-1-ensure-module-federation-target-defaults.json", + "hidden": false, + "name": "update-19-6-1-ensure-module-federation-target-defaults", + "version": "19.6.1-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-19-6-1-ensure-module-federation-target-defaults", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.6.1-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.6.1-ngrx-package-updates.json", + "hidden": false, + "name": "19.6.1-ngrx-package-updates", + "version": "19.6.1-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.6.1-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-18-2-0": { + "description": "Update the @angular/cli package version to ~18.2.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-18-2-0.json", + "hidden": false, + "name": "update-angular-cli-version-18-2-0", + "version": "19.6.0-beta.7", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-18-2-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.6.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.6.0-package-updates.json", + "hidden": false, + "name": "19.6.0-package-updates", + "version": "19.6.0-beta.7", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.6.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-19-6-0": { + "description": "Ensure Module Federation DTS is turned off by default.", + "file": "generated/packages/angular/migrations/update-19-6-0.json", + "hidden": false, + "name": "update-19-6-0", + "version": "19.6.0-beta.4", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-19-6-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.5.4-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.5.4-ngrx-package-updates.json", + "hidden": false, + "name": "19.5.4-ngrx-package-updates", + "version": "19.5.4-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.5.4-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-18-1-0": { + "description": "Update the @angular/cli package version to ~18.1.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-18-1-0.json", + "hidden": false, + "name": "update-angular-cli-version-18-1-0", + "version": "19.5.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-18-1-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.5.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.5.0-package-updates.json", + "hidden": false, + "name": "19.5.0-package-updates", + "version": "19.5.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.5.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.5.0-module-federation-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.5.0-module-federation-package-updates.json", + "hidden": false, + "name": "19.5.0-module-federation-package-updates", + "version": "19.5.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.5.0-module-federation-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.4.0-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.4.0-ngrx-package-updates.json", + "hidden": false, + "name": "19.4.0-ngrx-package-updates", + "version": "19.4.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.4.0-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/add-typescript-eslint-utils": { + "description": "Installs the '@typescript-eslint/utils' package when having installed '@angular-eslint/eslint-plugin' or '@angular-eslint/eslint-plugin-template' with version >=18.0.0.", + "file": "generated/packages/angular/migrations/add-typescript-eslint-utils.json", + "hidden": false, + "name": "add-typescript-eslint-utils", + "version": "19.2.1-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/add-typescript-eslint-utils", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.1.2-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.1.2-package-updates.json", + "hidden": false, + "name": "19.1.2-package-updates", + "version": "19.1.2-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.1.2-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-18-0-0": { + "description": "Update the @angular/cli package version to ~18.0.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-18-0-0.json", + "hidden": false, + "name": "update-angular-cli-version-18-0-0", + "version": "19.1.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-18-0-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.1.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.1.0-package-updates.json", + "hidden": false, + "name": "19.1.0-package-updates", + "version": "19.1.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.1.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/19.1.0-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/19.1.0-jest-package-updates.json", + "hidden": false, + "name": "19.1.0-jest-package-updates", + "version": "19.1.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/19.1.0-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-17-3-0": { + "description": "Update the @angular/cli package version to ~17.3.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-17-3-0.json", + "hidden": false, + "name": "update-angular-cli-version-17-3-0", + "version": "18.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-17-3-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/18.2.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/18.2.0-package-updates.json", + "hidden": false, + "name": "18.2.0-package-updates", + "version": "18.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/18.2.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/18.2.0-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/18.2.0-angular-eslint-package-updates.json", + "hidden": false, + "name": "18.2.0-angular-eslint-package-updates", + "version": "18.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/18.2.0-angular-eslint-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/fix-target-defaults-for-webpack-browser": { + "description": "Ensure targetDefaults inputs for task hashing when '@nx/angular:webpack-browser' is used are correct for Module Federation.", + "file": "generated/packages/angular/migrations/fix-target-defaults-for-webpack-browser.json", + "hidden": false, + "name": "fix-target-defaults-for-webpack-browser", + "version": "18.1.1-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/fix-target-defaults-for-webpack-browser", + "type": "migration" + }, + "/technologies/angular/api/migrations/18.1.0-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/18.1.0-jest-package-updates.json", + "hidden": false, + "name": "18.1.0-jest-package-updates", + "version": "18.1.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/18.1.0-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-17-2-0": { + "description": "Update the @angular/cli package version to ~17.2.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-17-2-0.json", + "hidden": false, + "name": "update-angular-cli-version-17-2-0", + "version": "18.1.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-17-2-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/18.1.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/18.1.0-package-updates.json", + "hidden": false, + "name": "18.1.0-package-updates", + "version": "18.1.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/18.1.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/add-module-federation-env-var-to-target-defaults": { + "description": "Add NX_MF_DEV_SERVER_STATIC_REMOTES to inputs for task hashing when '@nx/angular:webpack-browser' is used for Module Federation.", + "file": "generated/packages/angular/migrations/add-module-federation-env-var-to-target-defaults.json", + "hidden": false, + "name": "add-module-federation-env-var-to-target-defaults", + "version": "18.0.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/add-module-federation-env-var-to-target-defaults", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-17-1-0": { + "description": "Update the @angular/cli package version to ~17.1.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-17-1-0.json", + "hidden": false, + "name": "update-angular-cli-version-17-1-0", + "version": "17.3.0-beta.10", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-17-1-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/add-browser-sync-dependency": { + "description": "Add 'browser-sync' as dev dependency when '@angular-devkit/build-angular:ssr-dev-server' or '@nx/angular:module-federation-dev-ssr' is used.", + "file": "generated/packages/angular/migrations/add-browser-sync-dependency.json", + "hidden": false, + "name": "add-browser-sync-dependency", + "version": "17.3.0-beta.10", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/add-browser-sync-dependency", + "type": "migration" + }, + "/technologies/angular/api/migrations/add-autoprefixer-dependency": { + "description": "Add 'autoprefixer' as dev dependency when '@nx/angular:ng-packagr-lite' or '@nx/angular:package` is used.", + "file": "generated/packages/angular/migrations/add-autoprefixer-dependency.json", + "hidden": false, + "name": "add-autoprefixer-dependency", + "version": "17.3.0-beta.10", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/add-autoprefixer-dependency", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.3.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.3.0-package-updates.json", + "hidden": false, + "name": "17.3.0-package-updates", + "version": "17.3.0-beta.10", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.3.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.3.0-types-node-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.3.0-types-node-package-updates.json", + "hidden": false, + "name": "17.3.0-types-node-package-updates", + "version": "17.3.0-beta.3", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.3.0-types-node-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.2.0-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.2.0-ngrx-package-updates.json", + "hidden": false, + "name": "17.2.0-ngrx-package-updates", + "version": "17.2.0-beta.3", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.2.0-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/rename-webpack-dev-server-executor": { + "description": "Rename '@nx/angular:webpack-dev-server' executor to '@nx/angular:dev-server'", + "file": "generated/packages/angular/migrations/rename-webpack-dev-server-executor.json", + "hidden": false, + "name": "rename-webpack-dev-server-executor", + "version": "17.2.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/rename-webpack-dev-server-executor", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.1.3-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.1.3-jest-package-updates.json", + "hidden": false, + "name": "17.1.3-jest-package-updates", + "version": "17.1.3-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.1.3-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-17-0-0": { + "description": "Update the @angular/cli package version to ~17.0.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-17-0-0.json", + "hidden": false, + "name": "update-angular-cli-version-17-0-0", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-17-0-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/rename-browser-target-to-build-target": { + "description": "Rename 'browserTarget' to 'buildTarget'.", + "file": "generated/packages/angular/migrations/rename-browser-target-to-build-target.json", + "hidden": false, + "name": "rename-browser-target-to-build-target", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/rename-browser-target-to-build-target", + "type": "migration" + }, + "/technologies/angular/api/migrations/replace-nguniversal-builders": { + "description": "Replace usages of '@nguniversal/builders' with '@angular-devkit/build-angular'.", + "file": "generated/packages/angular/migrations/replace-nguniversal-builders.json", + "hidden": false, + "name": "replace-nguniversal-builders", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/replace-nguniversal-builders", + "type": "migration" + }, + "/technologies/angular/api/migrations/replace-nguniversal-engines": { + "description": "Replace usages of '@nguniversal/' packages with '@angular/ssr'.", + "file": "generated/packages/angular/migrations/replace-nguniversal-engines.json", + "hidden": false, + "name": "replace-nguniversal-engines", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/replace-nguniversal-engines", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-zone-js-deep-import": { + "description": "Replace the deep imports from 'zone.js/dist/zone' and 'zone.js/dist/zone-testing' with 'zone.js' and 'zone.js/testing'.", + "file": "generated/packages/angular/migrations/update-zone-js-deep-import.json", + "hidden": false, + "name": "update-zone-js-deep-import", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-zone-js-deep-import", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.1.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.1.0-package-updates.json", + "hidden": false, + "name": "17.1.0-package-updates", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.1.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.1.0-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.1.0-jest-package-updates.json", + "hidden": false, + "name": "17.1.0-jest-package-updates", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.1.0-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/17.1.0-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/17.1.0-angular-eslint-package-updates.json", + "hidden": false, + "name": "17.1.0-angular-eslint-package-updates", + "version": "17.1.0-beta.5", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/17.1.0-angular-eslint-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.8.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.8.0-package-updates.json", + "hidden": false, + "name": "16.8.0-package-updates", + "version": "16.8.0-beta.2", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.8.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-16-2-0": { + "description": "Update the @angular/cli package version to ~16.2.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-16-2-0.json", + "hidden": false, + "name": "update-angular-cli-version-16-2-0", + "version": "16.7.0-beta.6", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-16-2-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.7.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.7.0-package-updates.json", + "hidden": false, + "name": "16.7.0-package-updates", + "version": "16.7.0-beta.6", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.7.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/explicitly-set-projects-to-update-buildable-deps": { + "description": "Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.", + "file": "generated/packages/angular/migrations/explicitly-set-projects-to-update-buildable-deps.json", + "hidden": false, + "name": "explicitly-set-projects-to-update-buildable-deps", + "version": "16.6.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/explicitly-set-projects-to-update-buildable-deps", + "type": "migration" + }, + "/technologies/angular/api/migrations/update-angular-cli-version-16-1-0": { + "description": "Update the @angular/cli package version to ~16.1.0.", + "file": "generated/packages/angular/migrations/update-angular-cli-version-16-1-0.json", + "hidden": false, + "name": "update-angular-cli-version-16-1-0", + "version": "16.4.0-beta.11", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/update-angular-cli-version-16-1-0", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.4.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.4.0-package-updates.json", + "hidden": false, + "name": "16.4.0-package-updates", + "version": "16.4.0-beta.11", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.4.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/rename-angular-eslint-accesibility-rules": { + "description": "Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.", + "file": "generated/packages/angular/migrations/rename-angular-eslint-accesibility-rules.json", + "hidden": false, + "name": "rename-angular-eslint-accesibility-rules", + "version": "16.4.0-beta.6", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/rename-angular-eslint-accesibility-rules", + "type": "migration" + }, + "/technologies/angular/api/migrations/switch-data-persistence-operators-imports-to-ngrx-router-store": { + "description": "Switch the data persistence operator imports to '@ngrx/router-store/data-persistence'.", + "file": "generated/packages/angular/migrations/switch-data-persistence-operators-imports-to-ngrx-router-store.json", + "hidden": false, + "name": "switch-data-persistence-operators-imports-to-ngrx-router-store", + "version": "16.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/switch-data-persistence-operators-imports-to-ngrx-router-store", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.2.0-ngrx-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.2.0-ngrx-package-updates.json", + "hidden": false, + "name": "16.2.0-ngrx-package-updates", + "version": "16.2.0-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.2.0-ngrx-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.1.3-jest-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.1.3-jest-package-updates.json", + "hidden": false, + "name": "16.1.3-jest-package-updates", + "version": "16.1.3-beta.0", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.1.3-jest-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.1.0-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.1.0-package-updates.json", + "hidden": false, + "name": "16.1.0-package-updates", + "version": "16.1.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.1.0-package-updates", + "type": "migration" + }, + "/technologies/angular/api/migrations/16.1.0-angular-eslint-package-updates": { + "description": "", + "file": "generated/packages/angular/migrations/16.1.0-angular-eslint-package-updates.json", + "hidden": false, + "name": "16.1.0-angular-eslint-package-updates", + "version": "16.1.0-beta.1", + "originalFilePath": "/packages/angular", + "path": "/technologies/angular/api/migrations/16.1.0-angular-eslint-package-updates", + "type": "migration" + } + }, + "path": "/technologies/angular/angular" + }, + "cypress": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "cypress", + "packageName": "@nx/cypress", + "description": "The Nx Plugin for Cypress contains executors and generators allowing your workspace to use the powerful Cypress integration testing capabilities.", + "documents": {}, + "root": "/packages/cypress", + "source": "/packages/cypress/src", + "executors": { + "/technologies/test-tools/cypress/api/executors/cypress": { + "description": "Run Cypress E2E tests.", + "file": "generated/packages/cypress/executors/cypress.json", + "hidden": false, + "name": "cypress", + "originalFilePath": "/packages/cypress/src/executors/cypress/schema.json", + "path": "/technologies/test-tools/cypress/api/executors/cypress", + "type": "executor" + } + }, + "generators": { + "/technologies/test-tools/cypress/api/generators/init": { + "description": "Initialize the `@nx/cypress` plugin.", + "file": "generated/packages/cypress/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/cypress/src/generators/init/schema.json", + "path": "/technologies/test-tools/cypress/api/generators/init", + "type": "generator" + }, + "/technologies/test-tools/cypress/api/generators/configuration": { + "description": "Add a Cypress E2E Configuration to an existing project.", + "file": "generated/packages/cypress/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/cypress/src/generators/configuration/schema.json", + "path": "/technologies/test-tools/cypress/api/generators/configuration", + "type": "generator" + }, + "/technologies/test-tools/cypress/api/generators/component-configuration": { + "description": "Set up Cypress Component Test for a project", + "file": "generated/packages/cypress/generators/component-configuration.json", + "hidden": true, + "name": "component-configuration", + "originalFilePath": "/packages/cypress/src/generators/component-configuration/schema.json", + "path": "/technologies/test-tools/cypress/api/generators/component-configuration", + "type": "generator" + }, + "/technologies/test-tools/cypress/api/generators/migrate-to-cypress-11": { + "description": "Migrate existing Cypress e2e projects to Cypress v11", + "file": "generated/packages/cypress/generators/migrate-to-cypress-11.json", + "hidden": false, + "name": "migrate-to-cypress-11", + "originalFilePath": "/packages/cypress/src/generators/migrate-to-cypress-11/schema.json", + "path": "/technologies/test-tools/cypress/api/generators/migrate-to-cypress-11", + "type": "generator" + }, + "/technologies/test-tools/cypress/api/generators/convert-to-inferred": { + "description": "Convert existing Cypress project(s) using `@nx/cypress:cypress` executor to use `@nx/cypress/plugin`.", + "file": "generated/packages/cypress/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/cypress/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/test-tools/cypress/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/test-tools/cypress/api/migrations/remove-tsconfig-and-copy-files-options-from-cypress-executor": { + "description": "Removes the `tsConfig` and `copyFiles` options from the `@nx/cypress:cypress` executor.", + "file": "generated/packages/cypress/migrations/remove-tsconfig-and-copy-files-options-from-cypress-executor.json", + "hidden": false, + "name": "remove-tsconfig-and-copy-files-options-from-cypress-executor", + "version": "21.0.0-beta.10", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/remove-tsconfig-and-copy-files-options-from-cypress-executor", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/set-inject-document-domain": { + "description": "Replaces the `experimentalSkipDomainInjection` configuration option with the new `injectDocumentDomain` configuration option.", + "file": "generated/packages/cypress/migrations/set-inject-document-domain.json", + "hidden": false, + "name": "set-inject-document-domain", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/set-inject-document-domain", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/remove-experimental-fetch-polyfill": { + "description": "Removes the `experimentalFetchPolyfill` configuration option.", + "file": "generated/packages/cypress/migrations/remove-experimental-fetch-polyfill.json", + "hidden": false, + "name": "remove-experimental-fetch-polyfill", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/remove-experimental-fetch-polyfill", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/replace-experimental-just-in-time-compile": { + "description": "Replaces the `experimentalJustInTimeCompile` configuration option with the new `justInTimeCompile` configuration option.", + "file": "generated/packages/cypress/migrations/replace-experimental-just-in-time-compile.json", + "hidden": false, + "name": "replace-experimental-just-in-time-compile", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/replace-experimental-just-in-time-compile", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/update-component-testing-mount-imports": { + "description": "Updates the module specifier for the Component Testing `mount` function.", + "file": "generated/packages/cypress/migrations/update-component-testing-mount-imports.json", + "hidden": false, + "name": "update-component-testing-mount-imports", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/update-component-testing-mount-imports", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/20.8.0-package-updates": { + "description": "", + "file": "generated/packages/cypress/migrations/20.8.0-package-updates.json", + "hidden": false, + "name": "20.8.0-package-updates", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/20.8.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/update-19-6-0-update-ci-webserver-for-vite": { + "description": "Update ciWebServerCommand to use static serve for the application.", + "file": "generated/packages/cypress/migrations/update-19-6-0-update-ci-webserver-for-vite.json", + "hidden": false, + "name": "update-19-6-0-update-ci-webserver-for-vite", + "version": "19.6.0-beta.4", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/update-19-6-0-update-ci-webserver-for-vite", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/19.4.1-package-updates": { + "description": "", + "file": "generated/packages/cypress/migrations/19.4.1-package-updates.json", + "hidden": false, + "name": "19.4.1-package-updates", + "version": "19.4.1-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/19.4.1-package-updates", + "type": "migration" + }, + "/technologies/test-tools/cypress/api/migrations/19.1.0-package-updates": { + "description": "", + "file": "generated/packages/cypress/migrations/19.1.0-package-updates.json", + "hidden": false, + "name": "19.1.0-package-updates", + "version": "19.1.0-beta.0", + "originalFilePath": "/packages/cypress", + "path": "/technologies/test-tools/cypress/api/migrations/19.1.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/cypress/cypress" + }, + "detox": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "detox", + "packageName": "@nx/detox", + "description": "The Nx Plugin for Detox contains executors and generators for allowing your workspace to use the powerful Detox integration testing capabilities.", + "documents": {}, + "root": "/packages/detox", + "source": "/packages/detox/src", + "executors": { + "/technologies/test-tools/detox/api/executors/build": { + "description": "Run the command defined in build property of the specified configuration.", + "file": "generated/packages/detox/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/detox/src/executors/build/schema.json", + "path": "/technologies/test-tools/detox/api/executors/build", + "type": "executor" + }, + "/technologies/test-tools/detox/api/executors/test": { + "description": "Initiating your detox test suite.", + "file": "generated/packages/detox/executors/test.json", + "hidden": false, + "name": "test", + "originalFilePath": "/packages/detox/src/executors/test/schema.json", + "path": "/technologies/test-tools/detox/api/executors/test", + "type": "executor" + } + }, + "generators": { + "/technologies/test-tools/detox/api/generators/init": { + "description": "Initialize the `@nx/detox` plugin.", + "file": "generated/packages/detox/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/detox/src/generators/init/schema.json", + "path": "/technologies/test-tools/detox/api/generators/init", + "type": "generator" + }, + "/technologies/test-tools/detox/api/generators/application": { + "description": "Create a Detox application.", + "file": "generated/packages/detox/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/detox/src/generators/application/schema.json", + "path": "/technologies/test-tools/detox/api/generators/application", + "type": "generator" + }, + "/technologies/test-tools/detox/api/generators/convert-to-inferred": { + "description": "Convert existing Detox project(s) using `@nx/detox:*` executors to use `@nx/detox/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/detox/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/detox/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/test-tools/detox/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/test-tools/detox/api/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/detox/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.2", + "originalFilePath": "/packages/detox", + "path": "/technologies/test-tools/detox/api/migrations/20.4.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/detox/api/migrations/20.3.0-package-updates": { + "description": "", + "file": "generated/packages/detox/migrations/20.3.0-package-updates.json", + "hidden": false, + "name": "20.3.0-package-updates", + "version": "20.3.0-beta.0", + "originalFilePath": "/packages/detox", + "path": "/technologies/test-tools/detox/api/migrations/20.3.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/detox/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/detox/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.2", + "originalFilePath": "/packages/detox", + "path": "/technologies/test-tools/detox/api/migrations/19.2.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/detox/detox" + }, + "devkit": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "devkit", + "packageName": "@nx/devkit", + "description": "The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more. Learn more about [extending Nx by leveraging the Nx Devkit](https://nx.dev/extending-nx/intro/getting-started) on our docs.", + "documents": { + "/reference/core-api/devkit/documents/nx_devkit": { + "id": "nx_devkit", + "name": "Overview", + "description": "The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more. Learn more about [extending Nx by leveraging the Nx Devkit](https://nx.dev/extending-nx/intro/getting-started) on our docs.", + "file": "generated/packages/devkit/documents/nx_devkit", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/devkit/documents/nx_devkit", + "tags": [], + "originalFilePath": "generated/devkit/README" + }, + "/reference/core-api/devkit/documents/ngcli_adapter": { + "id": "ngcli_adapter", + "name": "Ng CLI Adapter", + "description": "The Nx Devkit is used to customize Nx for different technologies and use cases. It contains many utility functions for reading and writing files, updating configuration, working with Abstract Syntax Trees(ASTs), and more. Learn more about [extending Nx by leveraging the Nx Devkit](https://nx.dev/extending-nx/intro/getting-started) on our docs.", + "file": "generated/packages/devkit/documents/ngcli_adapter", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/devkit/documents/ngcli_adapter", + "tags": [], + "originalFilePath": "generated/devkit/ngcli_adapter/README" + } + }, + "root": "/packages/devkit", + "source": "/packages/devkit/src", + "executors": {}, + "generators": {}, + "migrations": {}, + "path": "/technologies/devkit/devkit" + }, + "esbuild": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "esbuild", + "packageName": "@nx/esbuild", + "description": "The Nx Plugin for esbuild contains executors and generators that support building applications using esbuild", + "documents": {}, + "root": "/packages/esbuild", + "source": "/packages/esbuild/src", + "executors": { + "/technologies/build-tools/esbuild/api/executors/esbuild": { + "description": "Bundle a package using EsBuild.", + "file": "generated/packages/esbuild/executors/esbuild.json", + "hidden": false, + "name": "esbuild", + "originalFilePath": "/packages/esbuild/src/executors/esbuild/schema.json", + "path": "/technologies/build-tools/esbuild/api/executors/esbuild", + "type": "executor" + } + }, + "generators": { + "/technologies/build-tools/esbuild/api/generators/init": { + "description": "Initialize the `@nx/esbuild` plugin.", + "file": "generated/packages/esbuild/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/esbuild/src/generators/init/schema.json", + "path": "/technologies/build-tools/esbuild/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/esbuild/api/generators/configuration": { + "description": "Add esbuild configuration to a project.", + "file": "generated/packages/esbuild/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/esbuild/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/esbuild/api/generators/configuration", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/esbuild/esbuild" + }, + "eslint": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "eslint", + "packageName": "@nx/eslint", + "description": "The ESLint plugin for Nx contains executors, generators and utilities used for linting JavaScript/TypeScript projects within an Nx workspace.", + "documents": {}, + "root": "/packages/eslint", + "source": "/packages/eslint/src", + "executors": { + "/technologies/eslint/api/executors/lint": { + "description": "Run ESLint on a project.", + "file": "generated/packages/eslint/executors/lint.json", + "hidden": false, + "name": "lint", + "originalFilePath": "/packages/eslint/src/executors/lint/schema.json", + "path": "/technologies/eslint/api/executors/lint", + "type": "executor" + } + }, + "generators": { + "/technologies/eslint/api/generators/init": { + "description": "Set up the ESLint plugin.", + "file": "generated/packages/eslint/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/eslint/src/generators/init/schema.json", + "path": "/technologies/eslint/api/generators/init", + "type": "generator" + }, + "/technologies/eslint/api/generators/workspace-rules-project": { + "description": "Create the Workspace Lint Rules Project.", + "file": "generated/packages/eslint/generators/workspace-rules-project.json", + "hidden": true, + "name": "workspace-rules-project", + "originalFilePath": "/packages/eslint/src/generators/workspace-rules-project/schema.json", + "path": "/technologies/eslint/api/generators/workspace-rules-project", + "type": "generator" + }, + "/technologies/eslint/api/generators/workspace-rule": { + "description": "Create a new Workspace ESLint rule.", + "file": "generated/packages/eslint/generators/workspace-rule.json", + "hidden": false, + "name": "workspace-rule", + "originalFilePath": "/packages/eslint/src/generators/workspace-rule/schema.json", + "path": "/technologies/eslint/api/generators/workspace-rule", + "type": "generator" + }, + "/technologies/eslint/api/generators/convert-to-flat-config": { + "description": "Convert an Nx workspace's ESLint configs to use Flat Config.", + "file": "generated/packages/eslint/generators/convert-to-flat-config.json", + "hidden": false, + "name": "convert-to-flat-config", + "originalFilePath": "/packages/eslint/src/generators/convert-to-flat-config/schema.json", + "path": "/technologies/eslint/api/generators/convert-to-flat-config", + "type": "generator" + }, + "/technologies/eslint/api/generators/convert-to-inferred": { + "description": "Convert existing ESLint project(s) using `@nx/eslint:lint` executor to use `@nx/eslint/plugin`.", + "file": "generated/packages/eslint/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/eslint/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/eslint/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/eslint/api/migrations/21.2.0-typescript-eslint-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/21.2.0-typescript-eslint-package-updates.json", + "hidden": false, + "name": "21.2.0-typescript-eslint-package-updates", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/21.2.0-typescript-eslint-package-updates", + "type": "migration" + }, + "/technologies/eslint/api/migrations/21.2.0-@typescript-eslint-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/21.2.0-@typescript-eslint-package-updates.json", + "hidden": false, + "name": "21.2.0-@typescript-eslint-package-updates", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/21.2.0-@typescript-eslint-package-updates", + "type": "migration" + }, + "/technologies/eslint/api/migrations/20.7.0-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/20.7.0-package-updates.json", + "hidden": false, + "name": "20.7.0-package-updates", + "version": "20.7.0-beta.4", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/20.7.0-package-updates", + "type": "migration" + }, + "/technologies/eslint/api/migrations/20.4.0-typescript-eslint-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/20.4.0-typescript-eslint-package-updates.json", + "hidden": false, + "name": "20.4.0-typescript-eslint-package-updates", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/20.4.0-typescript-eslint-package-updates", + "type": "migration" + }, + "/technologies/eslint/api/migrations/20.4.0-@typescript-eslint-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/20.4.0-@typescript-eslint-package-updates.json", + "hidden": false, + "name": "20.4.0-@typescript-eslint-package-updates", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/20.4.0-@typescript-eslint-package-updates", + "type": "migration" + }, + "/technologies/eslint/api/migrations/add-file-extensions-to-overrides": { + "description": "Update ESLint flat config to include .cjs, .mjs, .cts, and .mts files in overrides (if needed)", + "file": "generated/packages/eslint/migrations/add-file-extensions-to-overrides.json", + "hidden": false, + "name": "add-file-extensions-to-overrides", + "version": "20.3.0-beta.1", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/add-file-extensions-to-overrides", + "type": "migration" + }, + "/technologies/eslint/api/migrations/update-typescript-eslint-v8.13.0": { + "description": "Update TypeScript ESLint packages to v8.13.0 if they are already on v8", + "file": "generated/packages/eslint/migrations/update-typescript-eslint-v8.13.0.json", + "hidden": false, + "name": "update-typescript-eslint-v8.13.0", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/update-typescript-eslint-v8.13.0", + "type": "migration" + }, + "/technologies/eslint/api/migrations/19.5.0-package-updates": { + "description": "", + "file": "generated/packages/eslint/migrations/19.5.0-package-updates.json", + "hidden": false, + "name": "19.5.0-package-updates", + "version": "19.5.0-beta.1", + "originalFilePath": "/packages/eslint", + "path": "/technologies/eslint/api/migrations/19.5.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/eslint/eslint" + }, + "eslint-plugin": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "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" + } + }, + "root": "/packages/eslint-plugin", + "source": "/packages/eslint-plugin/src", + "executors": {}, + "generators": {}, + "migrations": { + "/technologies/eslint/eslint-plugin/api/migrations/update-19-1-0-rename-no-extra-semi": { + "description": "Migrate no-extra-semi rules into user config, out of nx extendable configs", + "file": "generated/packages/eslint-plugin/migrations/update-19-1-0-rename-no-extra-semi.json", + "hidden": false, + "name": "update-19-1-0-rename-no-extra-semi", + "version": "19.1.0-beta.6", + "originalFilePath": "/packages/eslint-plugin", + "path": "/technologies/eslint/eslint-plugin/api/migrations/update-19-1-0-rename-no-extra-semi", + "type": "migration" + } + }, + "path": "/technologies/eslint-plugin/eslint-plugin" + }, + "expo": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "expo", + "packageName": "@nx/expo", + "description": "The Expo Plugin for Nx contains executors and generators for managing and developing an expo application within your workspace. For example, you can directly build for different target platforms as well as generate projects and publish your code.", + "documents": {}, + "root": "/packages/expo", + "source": "/packages/expo/src", + "executors": { + "/technologies/react/expo/api/executors/update": { + "description": "Start an EAS update for your expo project", + "file": "generated/packages/expo/executors/update.json", + "hidden": false, + "name": "update", + "originalFilePath": "/packages/expo/src/executors/update/schema.json", + "path": "/technologies/react/expo/api/executors/update", + "type": "executor" + }, + "/technologies/react/expo/api/executors/build": { + "description": "Start an EAS build for your expo project", + "file": "generated/packages/expo/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/expo/src/executors/build/schema.json", + "path": "/technologies/react/expo/api/executors/build", + "type": "executor" + }, + "/technologies/react/expo/api/executors/build-list": { + "description": "List all EAS builds for your Expo project", + "file": "generated/packages/expo/executors/build-list.json", + "hidden": false, + "name": "build-list", + "originalFilePath": "/packages/expo/src/executors/build-list/schema.json", + "path": "/technologies/react/expo/api/executors/build-list", + "type": "executor" + }, + "/technologies/react/expo/api/executors/run": { + "description": "Run the Android app binary locally or run the iOS app binary locally", + "file": "generated/packages/expo/executors/run.json", + "hidden": false, + "name": "run", + "originalFilePath": "/packages/expo/src/executors/run/schema.json", + "path": "/technologies/react/expo/api/executors/run", + "type": "executor" + }, + "/technologies/react/expo/api/executors/start": { + "description": "Start a local dev server for the app or start a Webpack dev server for the web app", + "file": "generated/packages/expo/executors/start.json", + "hidden": false, + "name": "start", + "originalFilePath": "/packages/expo/src/executors/start/schema.json", + "path": "/technologies/react/expo/api/executors/start", + "type": "executor" + }, + "/technologies/react/expo/api/executors/sync-deps": { + "description": "Syncs dependencies to package.json (required for autolinking).", + "file": "generated/packages/expo/executors/sync-deps.json", + "hidden": false, + "name": "sync-deps", + "originalFilePath": "/packages/expo/src/executors/sync-deps/schema.json", + "path": "/technologies/react/expo/api/executors/sync-deps", + "type": "executor" + }, + "/technologies/react/expo/api/executors/ensure-symlink": { + "description": "Ensure workspace node_modules is symlink under app's node_modules folder.", + "file": "generated/packages/expo/executors/ensure-symlink.json", + "hidden": false, + "name": "ensure-symlink", + "originalFilePath": "/packages/expo/src/executors/ensure-symlink/schema.json", + "path": "/technologies/react/expo/api/executors/ensure-symlink", + "type": "executor" + }, + "/technologies/react/expo/api/executors/prebuild": { + "description": "Create native iOS and Android project files for building natively.", + "file": "generated/packages/expo/executors/prebuild.json", + "hidden": false, + "name": "prebuild", + "originalFilePath": "/packages/expo/src/executors/prebuild/schema.json", + "path": "/technologies/react/expo/api/executors/prebuild", + "type": "executor" + }, + "/technologies/react/expo/api/executors/install": { + "description": "Install a module or other package to a project.", + "file": "generated/packages/expo/executors/install.json", + "hidden": false, + "name": "install", + "originalFilePath": "/packages/expo/src/executors/install/schema.json", + "path": "/technologies/react/expo/api/executors/install", + "type": "executor" + }, + "/technologies/react/expo/api/executors/export": { + "description": "Export the JavaScript and assets for your app using Metro/webpack bundler", + "file": "generated/packages/expo/executors/export.json", + "hidden": false, + "name": "export", + "originalFilePath": "/packages/expo/src/executors/export/schema.json", + "path": "/technologies/react/expo/api/executors/export", + "type": "executor" + }, + "/technologies/react/expo/api/executors/submit": { + "description": "Submit app binary to App Store and/or Play Store", + "file": "generated/packages/expo/executors/submit.json", + "hidden": false, + "name": "submit", + "originalFilePath": "/packages/expo/src/executors/submit/schema.json", + "path": "/technologies/react/expo/api/executors/submit", + "type": "executor" + }, + "/technologies/react/expo/api/executors/serve": { + "description": "Serve up the Expo web app locally", + "file": "generated/packages/expo/executors/serve.json", + "hidden": false, + "name": "serve", + "originalFilePath": "/packages/expo/src/executors/serve/schema.json", + "path": "/technologies/react/expo/api/executors/serve", + "type": "executor" + } + }, + "generators": { + "/technologies/react/expo/api/generators/init": { + "description": "Initialize the @nx/expo plugin", + "file": "generated/packages/expo/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/expo/src/generators/init/schema.json", + "path": "/technologies/react/expo/api/generators/init", + "type": "generator" + }, + "/technologies/react/expo/api/generators/application": { + "description": "Create an application", + "file": "generated/packages/expo/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/expo/src/generators/application/schema.json", + "path": "/technologies/react/expo/api/generators/application", + "type": "generator" + }, + "/technologies/react/expo/api/generators/library": { + "description": "Create a library", + "file": "generated/packages/expo/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/expo/src/generators/library/schema.json", + "path": "/technologies/react/expo/api/generators/library", + "type": "generator" + }, + "/technologies/react/expo/api/generators/component": { + "description": "Create a component", + "file": "generated/packages/expo/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/expo/src/generators/component/schema.json", + "path": "/technologies/react/expo/api/generators/component", + "type": "generator" + }, + "/technologies/react/expo/api/generators/convert-to-inferred": { + "description": "Convert existing Expo project(s) using `@nx/expo:*` executors to use `@nx/expo/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/expo/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/expo/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/react/expo/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/react/expo/api/migrations/20.3.0-package-updates": { + "description": "", + "file": "generated/packages/expo/migrations/20.3.0-package-updates.json", + "hidden": false, + "name": "20.3.0-package-updates", + "version": "20.3.0-beta.0", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/20.3.0-package-updates", + "type": "migration" + }, + "/technologies/react/expo/api/migrations/update-19-7-0-remove-eas-pre-install": { + "description": "Remove eas-build-pre-install script from app's package.json", + "file": "generated/packages/expo/migrations/update-19-7-0-remove-eas-pre-install.json", + "hidden": false, + "name": "update-19-7-0-remove-eas-pre-install", + "version": "19.7.0-beta.4", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/update-19-7-0-remove-eas-pre-install", + "type": "migration" + }, + "/technologies/react/expo/api/migrations/update-19-2-0-remove-webpack-config": { + "description": "Remove deprecated webpack.config.js", + "file": "generated/packages/expo/migrations/update-19-2-0-remove-webpack-config.json", + "hidden": false, + "name": "update-19-2-0-remove-webpack-config", + "version": "19.2.0-beta.2", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/update-19-2-0-remove-webpack-config", + "type": "migration" + }, + "/technologies/react/expo/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/expo/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.2", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/19.2.0-package-updates", + "type": "migration" + }, + "/technologies/react/expo/api/migrations/update-19-0-0-change-webpack-to-metro": { + "description": "Change webpack to metro in expo projects", + "file": "generated/packages/expo/migrations/update-19-0-0-change-webpack-to-metro.json", + "hidden": false, + "name": "update-19-0-0-change-webpack-to-metro", + "version": "19.0.0-beta.9", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/update-19-0-0-change-webpack-to-metro", + "type": "migration" + }, + "/technologies/react/expo/api/migrations/19.0.0-package-updates": { + "description": "", + "file": "generated/packages/expo/migrations/19.0.0-package-updates.json", + "hidden": false, + "name": "19.0.0-package-updates", + "version": "19.0.0-beta.7", + "originalFilePath": "/packages/expo", + "path": "/technologies/react/expo/api/migrations/19.0.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/expo/expo" + }, + "express": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "express", + "packageName": "@nx/express", + "description": "The Nx Plugin for Express contains executors and generators for allowing your workspace to create powerful Express Node applications and APIs.", + "documents": {}, + "root": "/packages/express", + "source": "/packages/express/src", + "executors": {}, + "generators": { + "/technologies/node/express/api/generators/init": { + "description": "Initialize the `@nx/express` plugin.", + "file": "generated/packages/express/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/express/src/generators/init/schema.json", + "path": "/technologies/node/express/api/generators/init", + "type": "generator" + }, + "/technologies/node/express/api/generators/application": { + "description": "Create an Express application.", + "file": "generated/packages/express/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/express/src/generators/application/schema.json", + "path": "/technologies/node/express/api/generators/application", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/express/express" + }, + "gradle": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "gradle", + "packageName": "@nx/gradle", + "description": "The Nx Plugin for Gradle allows Gradle tasks to be run through Nx", + "documents": {}, + "root": "/packages/gradle", + "source": "/packages/gradle/src", + "executors": { + "/technologies/java/api/executors/gradle": { + "description": "Runs gradle tasks via the Gradle Tooling API or by invoking gradlew.", + "file": "generated/packages/gradle/executors/gradle.json", + "hidden": false, + "name": "gradle", + "originalFilePath": "/packages/gradle/src/executors/gradle/schema.json", + "path": "/technologies/java/api/executors/gradle", + "type": "executor" + } + }, + "generators": { + "/technologies/java/api/generators/init": { + "description": "Initializes a Gradle project in the current workspace", + "file": "generated/packages/gradle/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/gradle/src/generators/init/schema.json", + "path": "/technologies/java/api/generators/init", + "type": "generator" + }, + "/technologies/java/api/generators/ci-workflow": { + "description": "Setup a CI Workflow to run Nx in CI", + "file": "generated/packages/gradle/generators/ci-workflow.json", + "hidden": false, + "name": "ci-workflow", + "originalFilePath": "/packages/gradle/src/generators/ci-workflow/schema.json", + "path": "/technologies/java/api/generators/ci-workflow", + "type": "generator" + } + }, + "migrations": { + "/technologies/java/api/migrations/change-plugin-version-0-1-0": { + "description": "Change dev.nx.gradle.project-graph to version 0.1.0 in build file", + "file": "generated/packages/gradle/migrations/change-plugin-version-0-1-0.json", + "hidden": false, + "name": "change-plugin-version-0-1-0", + "version": "21.1.2-beta.1", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/change-plugin-version-0-1-0", + "type": "migration" + }, + "/technologies/java/api/migrations/change-ciTargetName-to-ciTestTargetName": { + "description": "Change @nx/gradle option from ciTargetName to ciTestTargetName", + "file": "generated/packages/gradle/migrations/change-ciTargetName-to-ciTestTargetName.json", + "hidden": false, + "name": "change-ciTargetName-to-ciTestTargetName", + "version": "21.0.0-beta.13", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/change-ciTargetName-to-ciTestTargetName", + "type": "migration" + }, + "/technologies/java/api/migrations/change-plugin-to-v1": { + "description": "Change @nx/gradle plugin to version 1", + "file": "generated/packages/gradle/migrations/change-plugin-to-v1.json", + "hidden": false, + "name": "change-plugin-to-v1", + "version": "21.0.0-beta.5", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/change-plugin-to-v1", + "type": "migration" + }, + "/technologies/java/api/migrations/add-include-subprojects-tasks": { + "description": "Add includeSubprojectsTasks to build.gradle file", + "file": "generated/packages/gradle/migrations/add-include-subprojects-tasks.json", + "hidden": false, + "name": "add-include-subprojects-tasks", + "version": "20.2.0-beta.4", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/add-include-subprojects-tasks", + "type": "migration" + }, + "/technologies/java/api/migrations/change-regex-production-test": { + "description": "This function changes !{projectRoot}/test/**/* in nx.json for production to !{projectRoot}/src/test/**/*", + "file": "generated/packages/gradle/migrations/change-regex-production-test.json", + "hidden": false, + "name": "change-regex-production-test", + "version": "19.4.1-beta.0", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/change-regex-production-test", + "type": "migration" + }, + "/technologies/java/api/migrations/add-project-report-all": { + "description": "Add task projectReportAll to build.gradle file", + "file": "generated/packages/gradle/migrations/add-project-report-all.json", + "hidden": false, + "name": "add-project-report-all", + "version": "19.4.0-beta.1", + "originalFilePath": "/packages/gradle", + "path": "/technologies/java/api/migrations/add-project-report-all", + "type": "migration" + } + }, + "path": "/technologies/gradle/gradle" + }, + "jest": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "jest", + "packageName": "@nx/jest", + "description": "The Nx Plugin for Jest contains executors and generators allowing your workspace to use the powerful Jest testing capabilities.", + "documents": {}, + "root": "/packages/jest", + "source": "/packages/jest/src", + "executors": { + "/technologies/test-tools/jest/api/executors/jest": { + "description": "Run Jest unit tests.", + "file": "generated/packages/jest/executors/jest.json", + "hidden": false, + "name": "jest", + "originalFilePath": "/packages/jest/src/executors/jest/schema.json", + "path": "/technologies/test-tools/jest/api/executors/jest", + "type": "executor" + } + }, + "generators": { + "/technologies/test-tools/jest/api/generators/init": { + "description": "Initialize the `@nx/jest` plugin.", + "file": "generated/packages/jest/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/jest/src/generators/init/schema.json", + "path": "/technologies/test-tools/jest/api/generators/init", + "type": "generator" + }, + "/technologies/test-tools/jest/api/generators/configuration": { + "description": "Add Jest configuration to a project.", + "file": "generated/packages/jest/generators/configuration.json", + "hidden": true, + "name": "configuration", + "originalFilePath": "/packages/jest/src/generators/configuration/schema.json", + "path": "/technologies/test-tools/jest/api/generators/configuration", + "type": "generator" + }, + "/technologies/test-tools/jest/api/generators/convert-to-inferred": { + "description": "Convert existing Jest project(s) using `@nx/jest:jest` executor to use `@nx/jest/plugin`.", + "file": "generated/packages/jest/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/jest/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/test-tools/jest/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/test-tools/jest/api/migrations/remove-tsconfig-option-from-jest-executor": { + "description": "Remove the previously deprecated and unused `tsConfig` option from the `@nx/jest:jest` executor.", + "file": "generated/packages/jest/migrations/remove-tsconfig-option-from-jest-executor.json", + "hidden": false, + "name": "remove-tsconfig-option-from-jest-executor", + "version": "21.0.0-beta.10", + "originalFilePath": "/packages/jest", + "path": "/technologies/test-tools/jest/api/migrations/remove-tsconfig-option-from-jest-executor", + "type": "migration" + }, + "/technologies/test-tools/jest/api/migrations/replace-getJestProjects-with-getJestProjectsAsync-v21": { + "description": "Replace usage of `getJestProjects` with `getJestProjectsAsync`.", + "file": "generated/packages/jest/migrations/replace-getJestProjects-with-getJestProjectsAsync-v21.json", + "hidden": false, + "name": "replace-getJestProjects-with-getJestProjectsAsync-v21", + "version": "21.0.0-beta.9", + "originalFilePath": "/packages/jest", + "path": "/technologies/test-tools/jest/api/migrations/replace-getJestProjects-with-getJestProjectsAsync-v21", + "type": "migration" + }, + "/technologies/test-tools/jest/api/migrations/replace-getJestProjects-with-getJestProjectsAsync": { + "description": "Replace usage of `getJestProjects` with `getJestProjectsAsync`.", + "file": "generated/packages/jest/migrations/replace-getJestProjects-with-getJestProjectsAsync.json", + "hidden": false, + "name": "replace-getJestProjects-with-getJestProjectsAsync", + "version": "20.0.0-beta.5", + "originalFilePath": "/packages/jest", + "path": "/technologies/test-tools/jest/api/migrations/replace-getJestProjects-with-getJestProjectsAsync", + "type": "migration" + }, + "/technologies/test-tools/jest/api/migrations/19.6.0-package-updates": { + "description": "", + "file": "generated/packages/jest/migrations/19.6.0-package-updates.json", + "hidden": false, + "name": "19.6.0-package-updates", + "version": "19.6.0-beta.1", + "originalFilePath": "/packages/jest", + "path": "/technologies/test-tools/jest/api/migrations/19.6.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/jest/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/jest/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.0", + "originalFilePath": "/packages/jest", + "path": "/technologies/test-tools/jest/api/migrations/19.2.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/jest/jest" + }, + "js": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "js", + "packageName": "@nx/js", + "description": "The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects. ", + "documents": {}, + "root": "/packages/js", + "source": "/packages/js/src", + "executors": { + "/technologies/typescript/api/executors/tsc": { + "description": "Build a project using TypeScript.", + "file": "generated/packages/js/executors/tsc.json", + "hidden": false, + "name": "tsc", + "originalFilePath": "/packages/js/src/executors/tsc/schema.json", + "path": "/technologies/typescript/api/executors/tsc", + "type": "executor" + }, + "/technologies/typescript/api/executors/swc": { + "description": "Build a project using SWC.", + "file": "generated/packages/js/executors/swc.json", + "hidden": false, + "name": "swc", + "originalFilePath": "/packages/js/src/executors/swc/schema.json", + "path": "/technologies/typescript/api/executors/swc", + "type": "executor" + }, + "/technologies/typescript/api/executors/node": { + "description": "Execute a Node application.", + "file": "generated/packages/js/executors/node.json", + "hidden": false, + "name": "node", + "originalFilePath": "/packages/js/src/executors/node/schema.json", + "path": "/technologies/typescript/api/executors/node", + "type": "executor" + }, + "/technologies/typescript/api/executors/release-publish": { + "description": "DO NOT INVOKE DIRECTLY WITH `nx run`. Use `nx release publish` instead.", + "file": "generated/packages/js/executors/release-publish.json", + "hidden": true, + "name": "release-publish", + "originalFilePath": "/packages/js/src/executors/release-publish/schema.json", + "path": "/technologies/typescript/api/executors/release-publish", + "type": "executor" + }, + "/technologies/typescript/api/executors/verdaccio": { + "description": "Start local registry with verdaccio", + "file": "generated/packages/js/executors/verdaccio.json", + "hidden": false, + "name": "verdaccio", + "originalFilePath": "/packages/js/src/executors/verdaccio/schema.json", + "path": "/technologies/typescript/api/executors/verdaccio", + "type": "executor" + } + }, + "generators": { + "/technologies/typescript/api/generators/library": { + "description": "Create a library", + "file": "generated/packages/js/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/js/src/generators/library/schema.json", + "path": "/technologies/typescript/api/generators/library", + "type": "generator" + }, + "/technologies/typescript/api/generators/init": { + "description": "Initialize a TS/JS workspace.", + "file": "generated/packages/js/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/js/src/generators/init/schema.json", + "path": "/technologies/typescript/api/generators/init", + "type": "generator" + }, + "/technologies/typescript/api/generators/convert-to-swc": { + "description": "Convert a TypeScript library to compile with SWC.", + "file": "generated/packages/js/generators/convert-to-swc.json", + "hidden": false, + "name": "convert-to-swc", + "originalFilePath": "/packages/js/src/generators/convert-to-swc/schema.json", + "path": "/technologies/typescript/api/generators/convert-to-swc", + "type": "generator" + }, + "/technologies/typescript/api/generators/release-version": { + "description": "DO NOT INVOKE DIRECTLY WITH `nx generate`. Use `nx release version` instead.", + "file": "generated/packages/js/generators/release-version.json", + "hidden": true, + "name": "release-version", + "originalFilePath": "/packages/js/src/generators/release-version/schema.json", + "path": "/technologies/typescript/api/generators/release-version", + "type": "generator" + }, + "/technologies/typescript/api/generators/setup-verdaccio": { + "description": "Setup Verdaccio for local package management.", + "file": "generated/packages/js/generators/setup-verdaccio.json", + "hidden": false, + "name": "setup-verdaccio", + "originalFilePath": "/packages/js/src/generators/setup-verdaccio/schema.json", + "path": "/technologies/typescript/api/generators/setup-verdaccio", + "type": "generator" + }, + "/technologies/typescript/api/generators/setup-build": { + "description": "setup-build generator", + "file": "generated/packages/js/generators/setup-build.json", + "hidden": false, + "name": "setup-build", + "originalFilePath": "/packages/js/src/generators/setup-build/schema.json", + "path": "/technologies/typescript/api/generators/setup-build", + "type": "generator" + }, + "/technologies/typescript/api/generators/typescript-sync": { + "description": "Synchronize TypeScript project references based on the project graph", + "file": "generated/packages/js/generators/typescript-sync.json", + "hidden": true, + "name": "typescript-sync", + "originalFilePath": "/packages/js/src/generators/typescript-sync/schema.json", + "path": "/technologies/typescript/api/generators/typescript-sync", + "type": "generator" + }, + "/technologies/typescript/api/generators/setup-prettier": { + "description": "Setup Prettier as the formatting tool.", + "file": "generated/packages/js/generators/setup-prettier.json", + "hidden": false, + "name": "setup-prettier", + "originalFilePath": "/packages/js/src/generators/setup-prettier/schema.json", + "path": "/technologies/typescript/api/generators/setup-prettier", + "type": "generator" + } + }, + "migrations": { + "/technologies/typescript/api/migrations/21.2.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/21.2.0-package-updates.json", + "hidden": false, + "name": "21.2.0-package-updates", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/21.2.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/20.7.1-beta.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/20.7.1-beta.0-package-updates.json", + "hidden": false, + "name": "20.7.1-beta.0-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/20.7.1-beta.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/20.5.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/20.5.0-package-updates.json", + "hidden": false, + "name": "20.5.0-package-updates", + "version": "20.5.0-beta.3", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/20.5.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/20.4.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/19.5.1-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/19.5.1-package-updates.json", + "hidden": false, + "name": "19.5.1-package-updates", + "version": "19.5.0-beta.1", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/19.5.1-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.0", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/19.2.0-package-updates", + "type": "migration" + }, + "/technologies/typescript/api/migrations/19.0.0-package-updates": { + "description": "", + "file": "generated/packages/js/migrations/19.0.0-package-updates.json", + "hidden": false, + "name": "19.0.0-package-updates", + "version": "19.0.0-beta.0", + "originalFilePath": "/packages/js", + "path": "/technologies/typescript/api/migrations/19.0.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/js/js" + }, + "module-federation": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "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" + } + }, + "root": "/packages/module-federation", + "source": "/packages/module-federation/src", + "executors": {}, + "generators": {}, + "migrations": { + "/technologies/module-federation/api/migrations/20.5.0": { + "description": "", + "file": "generated/packages/module-federation/migrations/20.5.0.json", + "hidden": false, + "name": "20.5.0", + "version": "20.5.0-beta.5", + "originalFilePath": "/packages/module-federation", + "path": "/technologies/module-federation/api/migrations/20.5.0", + "type": "migration" + }, + "/technologies/module-federation/api/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/module-federation/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.0", + "originalFilePath": "/packages/module-federation", + "path": "/technologies/module-federation/api/migrations/20.4.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/module-federation/module-federation" + }, + "nest": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "nest", + "packageName": "@nx/nest", + "description": "The Nx Plugin for Nest contains executors and generators for allowing your workspace to create powerful Nest best in class APIs.", + "documents": {}, + "root": "/packages/nest", + "source": "/packages/nest/src", + "executors": {}, + "generators": { + "/technologies/node/nest/api/generators/application": { + "description": "Create a NestJS application.", + "file": "generated/packages/nest/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/nest/src/generators/application/schema.json", + "path": "/technologies/node/nest/api/generators/application", + "type": "generator" + }, + "/technologies/node/nest/api/generators/init": { + "description": "Initialize the `@nx/nest` plugin.", + "file": "generated/packages/nest/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/nest/src/generators/init/schema.json", + "path": "/technologies/node/nest/api/generators/init", + "type": "generator" + }, + "/technologies/node/nest/api/generators/library": { + "description": "Create a new NestJS library.", + "file": "generated/packages/nest/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/nest/src/generators/library/schema.json", + "path": "/technologies/node/nest/api/generators/library", + "type": "generator" + }, + "/technologies/node/nest/api/generators/class": { + "description": "Run the `class` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/class.json", + "hidden": false, + "name": "class", + "originalFilePath": "/packages/nest/src/generators/class/schema.json", + "path": "/technologies/node/nest/api/generators/class", + "type": "generator" + }, + "/technologies/node/nest/api/generators/controller": { + "description": "Run the `controller` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/controller.json", + "hidden": false, + "name": "controller", + "originalFilePath": "/packages/nest/src/generators/controller/schema.json", + "path": "/technologies/node/nest/api/generators/controller", + "type": "generator" + }, + "/technologies/node/nest/api/generators/decorator": { + "description": "Run the `decorator` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/decorator.json", + "hidden": false, + "name": "decorator", + "originalFilePath": "/packages/nest/src/generators/decorator/schema.json", + "path": "/technologies/node/nest/api/generators/decorator", + "type": "generator" + }, + "/technologies/node/nest/api/generators/filter": { + "description": "Run the `filter` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/filter.json", + "hidden": false, + "name": "filter", + "originalFilePath": "/packages/nest/src/generators/filter/schema.json", + "path": "/technologies/node/nest/api/generators/filter", + "type": "generator" + }, + "/technologies/node/nest/api/generators/gateway": { + "description": "Run the `gateway` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/gateway.json", + "hidden": false, + "name": "gateway", + "originalFilePath": "/packages/nest/src/generators/gateway/schema.json", + "path": "/technologies/node/nest/api/generators/gateway", + "type": "generator" + }, + "/technologies/node/nest/api/generators/guard": { + "description": "Run the `guard` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/guard.json", + "hidden": false, + "name": "guard", + "originalFilePath": "/packages/nest/src/generators/guard/schema.json", + "path": "/technologies/node/nest/api/generators/guard", + "type": "generator" + }, + "/technologies/node/nest/api/generators/interceptor": { + "description": "Run the `interceptor` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/interceptor.json", + "hidden": false, + "name": "interceptor", + "originalFilePath": "/packages/nest/src/generators/interceptor/schema.json", + "path": "/technologies/node/nest/api/generators/interceptor", + "type": "generator" + }, + "/technologies/node/nest/api/generators/interface": { + "description": "Run the `interface` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/interface.json", + "hidden": false, + "name": "interface", + "originalFilePath": "/packages/nest/src/generators/interface/schema.json", + "path": "/technologies/node/nest/api/generators/interface", + "type": "generator" + }, + "/technologies/node/nest/api/generators/middleware": { + "description": "Run the `middleware` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/middleware.json", + "hidden": false, + "name": "middleware", + "originalFilePath": "/packages/nest/src/generators/middleware/schema.json", + "path": "/technologies/node/nest/api/generators/middleware", + "type": "generator" + }, + "/technologies/node/nest/api/generators/module": { + "description": "Run the `module` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/module.json", + "hidden": false, + "name": "module", + "originalFilePath": "/packages/nest/src/generators/module/schema.json", + "path": "/technologies/node/nest/api/generators/module", + "type": "generator" + }, + "/technologies/node/nest/api/generators/pipe": { + "description": "Run the `pipe` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/pipe.json", + "hidden": false, + "name": "pipe", + "originalFilePath": "/packages/nest/src/generators/pipe/schema.json", + "path": "/technologies/node/nest/api/generators/pipe", + "type": "generator" + }, + "/technologies/node/nest/api/generators/provider": { + "description": "Run the `provider` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/provider.json", + "hidden": false, + "name": "provider", + "originalFilePath": "/packages/nest/src/generators/provider/schema.json", + "path": "/technologies/node/nest/api/generators/provider", + "type": "generator" + }, + "/technologies/node/nest/api/generators/resolver": { + "description": "Run the `resolver` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/resolver.json", + "hidden": false, + "name": "resolver", + "originalFilePath": "/packages/nest/src/generators/resolver/schema.json", + "path": "/technologies/node/nest/api/generators/resolver", + "type": "generator" + }, + "/technologies/node/nest/api/generators/resource": { + "description": "Run the `resource` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/resource.json", + "hidden": false, + "name": "resource", + "originalFilePath": "/packages/nest/src/generators/resource/schema.json", + "path": "/technologies/node/nest/api/generators/resource", + "type": "generator" + }, + "/technologies/node/nest/api/generators/service": { + "description": "Run the `service` NestJS generator with Nx project support.", + "file": "generated/packages/nest/generators/service.json", + "hidden": false, + "name": "service", + "originalFilePath": "/packages/nest/src/generators/service/schema.json", + "path": "/technologies/node/nest/api/generators/service", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/nest/nest" + }, + "next": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "next", + "packageName": "@nx/next", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "documents": {}, + "root": "/packages/next", + "source": "/packages/next/src", + "executors": { + "/technologies/react/next/api/executors/build": { + "description": "Build a Next.js application.", + "file": "generated/packages/next/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/next/src/executors/build/schema.json", + "path": "/technologies/react/next/api/executors/build", + "type": "executor" + }, + "/technologies/react/next/api/executors/server": { + "description": "Serve a Next.js application.", + "file": "generated/packages/next/executors/server.json", + "hidden": false, + "name": "server", + "originalFilePath": "/packages/next/src/executors/server/schema.json", + "path": "/technologies/react/next/api/executors/server", + "type": "executor" + } + }, + "generators": { + "/technologies/react/next/api/generators/init": { + "description": "Initialize the `@nx/next` plugin.", + "file": "generated/packages/next/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/next/src/generators/init/schema.json", + "path": "/technologies/react/next/api/generators/init", + "type": "generator" + }, + "/technologies/react/next/api/generators/application": { + "description": "Create an application.", + "file": "generated/packages/next/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/next/src/generators/application/schema.json", + "path": "/technologies/react/next/api/generators/application", + "type": "generator" + }, + "/technologies/react/next/api/generators/page": { + "description": "Create a page.", + "file": "generated/packages/next/generators/page.json", + "hidden": false, + "name": "page", + "originalFilePath": "/packages/next/src/generators/page/schema.json", + "path": "/technologies/react/next/api/generators/page", + "type": "generator" + }, + "/technologies/react/next/api/generators/component": { + "description": "Create a component.", + "file": "generated/packages/next/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/next/src/generators/component/schema.json", + "path": "/technologies/react/next/api/generators/component", + "type": "generator" + }, + "/technologies/react/next/api/generators/library": { + "description": "Create a library.", + "file": "generated/packages/next/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/next/src/generators/library/schema.json", + "path": "/technologies/react/next/api/generators/library", + "type": "generator" + }, + "/technologies/react/next/api/generators/custom-server": { + "description": "Set up a custom server.", + "file": "generated/packages/next/generators/custom-server.json", + "hidden": false, + "name": "custom-server", + "originalFilePath": "/packages/next/src/generators/custom-server/schema.json", + "path": "/technologies/react/next/api/generators/custom-server", + "type": "generator" + }, + "/technologies/react/next/api/generators/cypress-component-configuration": { + "description": "cypress-component-configuration generator", + "file": "generated/packages/next/generators/cypress-component-configuration.json", + "hidden": false, + "name": "cypress-component-configuration", + "originalFilePath": "/packages/next/src/generators/cypress-component-configuration/schema.json", + "path": "/technologies/react/next/api/generators/cypress-component-configuration", + "type": "generator" + }, + "/technologies/react/next/api/generators/convert-to-inferred": { + "description": "Convert an existing Next.js project(s) using `@nx/next:build` to use `@nx/next/plugin`. Defaults to migrating all projects. Pass '--project' to migrate a single project.", + "file": "generated/packages/next/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/next/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/react/next/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/react/next/api/migrations/20.7.1-beta.0-package-updates": { + "description": "", + "file": "generated/packages/next/migrations/20.7.1-beta.0-package-updates.json", + "hidden": false, + "name": "20.7.1-beta.0-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/next", + "path": "/technologies/react/next/api/migrations/20.7.1-beta.0-package-updates", + "type": "migration" + }, + "/technologies/react/next/api/migrations/20.7.1-beta.0-next14-package-updates": { + "description": "", + "file": "generated/packages/next/migrations/20.7.1-beta.0-next14-package-updates.json", + "hidden": false, + "name": "20.7.1-beta.0-next14-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/next", + "path": "/technologies/react/next/api/migrations/20.7.1-beta.0-next14-package-updates", + "type": "migration" + }, + "/technologies/react/next/api/migrations/20.7.1-beta.0-next15-package-updates": { + "description": "", + "file": "generated/packages/next/migrations/20.7.1-beta.0-next15-package-updates.json", + "hidden": false, + "name": "20.7.1-beta.0-next15-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/next", + "path": "/technologies/react/next/api/migrations/20.7.1-beta.0-next15-package-updates", + "type": "migration" + }, + "/technologies/react/next/api/migrations/19.0.3-package-updates": { + "description": "", + "file": "generated/packages/next/migrations/19.0.3-package-updates.json", + "hidden": false, + "name": "19.0.3-package-updates", + "version": "19.0.3-beta.0", + "originalFilePath": "/packages/next", + "path": "/technologies/react/next/api/migrations/19.0.3-package-updates", + "type": "migration" + } + }, + "path": "/technologies/next/next" + }, + "node": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "node", + "packageName": "@nx/node", + "description": "The Node Plugin for Nx contains generators to manage Node applications within an Nx workspace.", + "documents": {}, + "root": "/packages/node", + "source": "/packages/node/src", + "executors": {}, + "generators": { + "/technologies/node/api/generators/init": { + "description": "Initialize the `@nx/node` plugin.", + "file": "generated/packages/node/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/node/src/generators/init/schema.json", + "path": "/technologies/node/api/generators/init", + "type": "generator" + }, + "/technologies/node/api/generators/application": { + "description": "Create a node application.", + "file": "generated/packages/node/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/node/src/generators/application/schema.json", + "path": "/technologies/node/api/generators/application", + "type": "generator" + }, + "/technologies/node/api/generators/library": { + "description": "Create a node library.", + "file": "generated/packages/node/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/node/src/generators/library/schema.json", + "path": "/technologies/node/api/generators/library", + "type": "generator" + }, + "/technologies/node/api/generators/setup-docker": { + "description": "Set up Docker configuration for a project.", + "file": "generated/packages/node/generators/setup-docker.json", + "hidden": false, + "name": "setup-docker", + "originalFilePath": "/packages/node/src/generators/setup-docker/schema.json", + "path": "/technologies/node/api/generators/setup-docker", + "type": "generator" + } + }, + "migrations": { + "/technologies/node/api/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/node/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.3", + "originalFilePath": "/packages/node", + "path": "/technologies/node/api/migrations/20.4.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/node/node" + }, + "nuxt": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "nuxt", + "packageName": "@nx/nuxt", + "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/nuxt", + "source": "/packages/nuxt/src", + "executors": {}, + "generators": { + "/technologies/vue/nuxt/api/generators/init": { + "description": "Initialize the `@nx/nuxt` plugin.", + "file": "generated/packages/nuxt/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/nuxt/src/generators/init/schema.json", + "path": "/technologies/vue/nuxt/api/generators/init", + "type": "generator" + }, + "/technologies/vue/nuxt/api/generators/application": { + "description": "Create a Nuxt application.", + "file": "generated/packages/nuxt/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/nuxt/src/generators/application/schema.json", + "path": "/technologies/vue/nuxt/api/generators/application", + "type": "generator" + }, + "/technologies/vue/nuxt/api/generators/storybook-configuration": { + "description": "Set up storybook for a Nuxt app.", + "file": "generated/packages/nuxt/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/nuxt/src/generators/storybook-configuration/schema.json", + "path": "/technologies/vue/nuxt/api/generators/storybook-configuration", + "type": "generator" + } + }, + "migrations": { + "/technologies/vue/nuxt/api/migrations/add-vue-to-storybook-config": { + "description": "Add vue() plugin to viteFinal in Storybook config files when it is missing.", + "file": "generated/packages/nuxt/migrations/add-vue-to-storybook-config.json", + "hidden": false, + "name": "add-vue-to-storybook-config", + "version": "19.6.0-beta.0", + "originalFilePath": "/packages/nuxt", + "path": "/technologies/vue/nuxt/api/migrations/add-vue-to-storybook-config", + "type": "migration" + } + }, + "path": "/technologies/nuxt/nuxt" + }, + "nx": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "nx", + "packageName": "nx", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "documents": { + "/reference/core-api/nx/documents/create-nx-workspace": { + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/create-nx-workspace", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/create-nx-workspace", + "tags": ["installation"], + "originalFilePath": "generated/cli/create-nx-workspace" + }, + "/reference/core-api/nx/documents/init": { + "id": "init", + "name": "init", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/init", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/init", + "tags": ["init"], + "originalFilePath": "generated/cli/init" + }, + "/reference/core-api/nx/documents/generate": { + "id": "generate", + "name": "generate", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/generate", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/generate", + "tags": ["generate-code"], + "originalFilePath": "generated/cli/generate" + }, + "/reference/core-api/nx/documents/run": { + "id": "run", + "name": "run", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/run", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/run", + "tags": ["run-tasks"], + "originalFilePath": "generated/cli/run" + }, + "/reference/core-api/nx/documents/daemon": { + "id": "daemon", + "name": "daemon", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/daemon", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/daemon", + "tags": ["daemon"], + "originalFilePath": "generated/cli/daemon" + }, + "/reference/core-api/nx/documents/dep-graph": { + "id": "dep-graph", + "name": "graph", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/dep-graph", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/dep-graph", + "tags": ["explore-graph"], + "originalFilePath": "generated/cli/graph" + }, + "/reference/core-api/nx/documents/run-many": { + "id": "run-many", + "name": "run-many", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/run-many", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/run-many", + "tags": ["run-tasks"], + "originalFilePath": "generated/cli/run-many" + }, + "/reference/core-api/nx/documents/affected": { + "id": "affected", + "name": "affected", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/affected", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/affected", + "tags": ["run-tasks", "affected"], + "originalFilePath": "generated/cli/affected" + }, + "/reference/core-api/nx/documents/format-check": { + "id": "format-check", + "name": "format:check", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/format-check", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/format-check", + "tags": ["enforce-module-boundaries"], + "originalFilePath": "generated/cli/format-check" + }, + "/reference/core-api/nx/documents/format-write": { + "id": "format-write", + "name": "format:write", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/format-write", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/format-write", + "tags": ["enforce-module-boundaries"], + "originalFilePath": "generated/cli/format-write" + }, + "/reference/core-api/nx/documents/migrate": { + "id": "migrate", + "name": "migrate", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/migrate", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/migrate", + "tags": ["automate-updating-dependencies"], + "originalFilePath": "generated/cli/migrate" + }, + "/reference/core-api/nx/documents/report": { + "id": "report", + "name": "report", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/report", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/report", + "tags": [], + "originalFilePath": "generated/cli/report" + }, + "/reference/core-api/nx/documents/list": { + "id": "list", + "name": "list", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/list", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/list", + "tags": [], + "originalFilePath": "generated/cli/list" + }, + "/reference/core-api/nx/documents/connect-to-nx-cloud": { + "id": "connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/connect-to-nx-cloud", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/connect-to-nx-cloud", + "tags": ["cache-task-results", "distribute-task-execution"], + "originalFilePath": "generated/cli/connect" + }, + "/reference/core-api/nx/documents/reset": { + "id": "reset", + "name": "reset", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/reset", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/reset", + "tags": ["cache-task-results"], + "originalFilePath": "generated/cli/reset" + }, + "/reference/core-api/nx/documents/repair": { + "id": "repair", + "name": "repair", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/repair", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/repair", + "tags": [], + "originalFilePath": "generated/cli/repair" + }, + "/reference/core-api/nx/documents/sync": { + "id": "sync", + "name": "sync", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/sync", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/sync", + "tags": ["sync"], + "originalFilePath": "generated/cli/sync" + }, + "/reference/core-api/nx/documents/sync-check": { + "id": "sync-check", + "name": "sync:check", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/sync-check", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/sync-check", + "tags": ["sync"], + "originalFilePath": "generated/cli/sync-check" + }, + "/reference/core-api/nx/documents/import": { + "id": "import", + "name": "import", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/import", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/import", + "tags": ["import"], + "originalFilePath": "generated/cli/import" + }, + "/reference/core-api/nx/documents/exec": { + "id": "exec", + "name": "exec", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/exec", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/exec", + "tags": ["exec"], + "originalFilePath": "generated/cli/exec" + }, + "/reference/core-api/nx/documents/watch": { + "id": "watch", + "name": "watch", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/watch", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/watch", + "tags": ["workspace-watching"], + "originalFilePath": "generated/cli/watch" + }, + "/reference/core-api/nx/documents/show": { + "id": "show", + "name": "show", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/show", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/show", + "tags": ["explore-graph"], + "originalFilePath": "generated/cli/show" + }, + "/reference/core-api/nx/documents/view-logs": { + "id": "view-logs", + "name": "view-logs", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/view-logs", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/view-logs", + "tags": [], + "originalFilePath": "generated/cli/view-logs" + }, + "/reference/core-api/nx/documents/release": { + "id": "release", + "name": "release", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/release", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/release", + "tags": ["nx-release"], + "originalFilePath": "generated/cli/release" + }, + "/reference/core-api/nx/documents/add": { + "id": "add", + "name": "add", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/add", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/add", + "tags": ["add"], + "originalFilePath": "generated/cli/add" + }, + "/reference/core-api/nx/documents/login": { + "id": "login", + "name": "login", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/login", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/login", + "tags": ["login"], + "originalFilePath": "generated/cli/login" + }, + "/reference/core-api/nx/documents/logout": { + "id": "logout", + "name": "logout", + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/logout", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx/documents/logout", + "tags": ["login"], + "originalFilePath": "generated/cli/logout" + } + }, + "root": "/packages/nx", + "source": "/packages/nx/src", + "executors": { + "/reference/core-api/nx/executors/noop": { + "description": "An executor that does nothing", + "file": "generated/packages/nx/executors/noop.json", + "hidden": false, + "name": "noop", + "originalFilePath": "/packages/nx/src/executors/noop/schema.json", + "path": "/reference/core-api/nx/executors/noop", + "type": "executor" + }, + "/reference/core-api/nx/executors/run-commands": { + "description": "Run any custom commands with Nx.", + "file": "generated/packages/nx/executors/run-commands.json", + "hidden": false, + "name": "run-commands", + "originalFilePath": "/packages/nx/src/executors/run-commands/schema.json", + "path": "/reference/core-api/nx/executors/run-commands", + "type": "executor" + }, + "/reference/core-api/nx/executors/run-script": { + "description": "Run an NPM script using Nx.", + "file": "generated/packages/nx/executors/run-script.json", + "hidden": false, + "name": "run-script", + "originalFilePath": "/packages/nx/src/executors/run-script/schema.json", + "path": "/reference/core-api/nx/executors/run-script", + "type": "executor" + } + }, + "generators": { + "/reference/core-api/nx/generators/connect-to-nx-cloud": { + "description": "Connect a workspace to Nx Cloud", + "file": "generated/packages/nx/generators/connect-to-nx-cloud.json", + "hidden": false, + "name": "connect-to-nx-cloud", + "originalFilePath": "/packages/nx/src/nx-cloud/generators/connect-to-nx-cloud/schema.json", + "path": "/reference/core-api/nx/generators/connect-to-nx-cloud", + "type": "generator" + } + }, + "migrations": { + "/reference/core-api/nx/migrations/21-1-0-add-ignore-entries-for-nx-rule-files": { + "description": "Adds **/nx-rules.mdc and **/nx.instructions.md to .gitignore if not present", + "file": "generated/packages/nx/migrations/21-1-0-add-ignore-entries-for-nx-rule-files.json", + "hidden": false, + "name": "21-1-0-add-ignore-entries-for-nx-rule-files", + "version": "21.1.0-beta.2", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/21-1-0-add-ignore-entries-for-nx-rule-files", + "type": "migration" + }, + "/reference/core-api/nx/migrations/release-version-config-changes": { + "description": "Updates release version config based on the breaking changes in Nx v21", + "file": "generated/packages/nx/migrations/release-version-config-changes.json", + "hidden": false, + "name": "release-version-config-changes", + "version": "21.0.0-beta.11", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/release-version-config-changes", + "type": "migration" + }, + "/reference/core-api/nx/migrations/release-changelog-config-changes": { + "description": "Updates release changelog config based on the breaking changes in Nx v21", + "file": "generated/packages/nx/migrations/release-changelog-config-changes.json", + "hidden": false, + "name": "release-changelog-config-changes", + "version": "21.0.0-beta.11", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/release-changelog-config-changes", + "type": "migration" + }, + "/reference/core-api/nx/migrations/remove-legacy-cache": { + "description": "Removes the legacy cache configuration from nx.json", + "file": "generated/packages/nx/migrations/remove-legacy-cache.json", + "hidden": false, + "name": "remove-legacy-cache", + "version": "21.0.0-beta.8", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/remove-legacy-cache", + "type": "migration" + }, + "/reference/core-api/nx/migrations/remove-custom-tasks-runner": { + "description": "Removes the legacy cache configuration from nx.json", + "file": "generated/packages/nx/migrations/remove-custom-tasks-runner.json", + "hidden": false, + "name": "remove-custom-tasks-runner", + "version": "21.0.0-beta.8", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/remove-custom-tasks-runner", + "type": "migration" + }, + "/reference/core-api/nx/migrations/use-legacy-cache": { + "description": "Set `useLegacyCache` to true for migrating workspaces", + "file": "generated/packages/nx/migrations/use-legacy-cache.json", + "hidden": false, + "name": "use-legacy-cache", + "version": "20.0.1", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/use-legacy-cache", + "type": "migration" + }, + "/reference/core-api/nx/migrations/move-use-daemon-process": { + "description": "Migration for v20.0.0-beta.7", + "file": "generated/packages/nx/migrations/move-use-daemon-process.json", + "hidden": false, + "name": "move-use-daemon-process", + "version": "20.0.0-beta.7", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/move-use-daemon-process", + "type": "migration" + }, + "/reference/core-api/nx/migrations/19-2-4-set-project-name": { + "description": "Set project name in nx.json explicitly", + "file": "generated/packages/nx/migrations/19-2-4-set-project-name.json", + "hidden": false, + "name": "19-2-4-set-project-name", + "version": "19.2.4-beta.0", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/19-2-4-set-project-name", + "type": "migration" + }, + "/reference/core-api/nx/migrations/19-2-2-update-nx-wrapper": { + "description": "Updates the nx wrapper.", + "file": "generated/packages/nx/migrations/19-2-2-update-nx-wrapper.json", + "hidden": false, + "name": "19-2-2-update-nx-wrapper", + "version": "19.2.2-beta.0", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/19-2-2-update-nx-wrapper", + "type": "migration" + }, + "/reference/core-api/nx/migrations/19-2-0-move-graph-cache-directory": { + "description": "Updates the default workspace data directory to .nx/workspace-data", + "file": "generated/packages/nx/migrations/19-2-0-move-graph-cache-directory.json", + "hidden": false, + "name": "19-2-0-move-graph-cache-directory", + "version": "19.2.0-beta.2", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/19-2-0-move-graph-cache-directory", + "type": "migration" + }, + "/reference/core-api/nx/migrations/move-default-base-to-nx-json-root": { + "description": "Moves affected.defaultBase to defaultBase in `nx.json`", + "file": "generated/packages/nx/migrations/move-default-base-to-nx-json-root.json", + "hidden": false, + "name": "move-default-base-to-nx-json-root", + "version": "18.1.0-beta.3", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/move-default-base-to-nx-json-root", + "type": "migration" + }, + "/reference/core-api/nx/migrations/18.0.0-disable-adding-plugins-for-existing-workspaces": { + "description": "Updates nx.json to disabled adding plugins when generating projects in an existing Nx workspace", + "file": "generated/packages/nx/migrations/18.0.0-disable-adding-plugins-for-existing-workspaces.json", + "hidden": false, + "name": "18.0.0-disable-adding-plugins-for-existing-workspaces", + "version": "18.0.0-beta.2", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/18.0.0-disable-adding-plugins-for-existing-workspaces", + "type": "migration" + }, + "/reference/core-api/nx/migrations/17.3.0-update-nx-wrapper": { + "description": "Updates the nx wrapper.", + "file": "generated/packages/nx/migrations/17.3.0-update-nx-wrapper.json", + "hidden": false, + "name": "17.3.0-update-nx-wrapper", + "version": "17.3.0-beta.6", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/17.3.0-update-nx-wrapper", + "type": "migration" + }, + "/reference/core-api/nx/migrations/rm-default-collection-npm-scope": { + "description": "Migration for v17.0.0-rc.1", + "file": "generated/packages/nx/migrations/rm-default-collection-npm-scope.json", + "hidden": false, + "name": "rm-default-collection-npm-scope", + "version": "17.0.0-rc.1", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/rm-default-collection-npm-scope", + "type": "migration" + }, + "/reference/core-api/nx/migrations/17.0.0-use-minimal-config-for-tasks-runner-options": { + "description": "Use minimal config for tasksRunnerOptions", + "file": "generated/packages/nx/migrations/17.0.0-use-minimal-config-for-tasks-runner-options.json", + "hidden": false, + "name": "17.0.0-use-minimal-config-for-tasks-runner-options", + "version": "17.0.0-beta.3", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/17.0.0-use-minimal-config-for-tasks-runner-options", + "type": "migration" + }, + "/reference/core-api/nx/migrations/17.0.0-move-cache-directory": { + "description": "Updates the default cache directory to .nx/cache", + "file": "generated/packages/nx/migrations/17.0.0-move-cache-directory.json", + "hidden": false, + "name": "17.0.0-move-cache-directory", + "version": "17.0.0-beta.1", + "originalFilePath": "/packages/nx", + "path": "/reference/core-api/nx/migrations/17.0.0-move-cache-directory", + "type": "migration" + } + }, + "path": "/technologies/nx/nx" + }, + "playwright": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "playwright", + "packageName": "@nx/playwright", + "description": "The Nx Plugin for Playwright contains executors and generators allowing your workspace to use the powerful Playwright integration testing capabilities.", + "documents": {}, + "root": "/packages/playwright", + "source": "/packages/playwright/src", + "executors": { + "/technologies/test-tools/playwright/api/executors/playwright": { + "description": "Run Playwright tests.", + "file": "generated/packages/playwright/executors/playwright.json", + "hidden": false, + "name": "playwright", + "originalFilePath": "/packages/playwright/src/executors/playwright/schema.json", + "path": "/technologies/test-tools/playwright/api/executors/playwright", + "type": "executor" + } + }, + "generators": { + "/technologies/test-tools/playwright/api/generators/configuration": { + "description": "Add Nx Playwright configuration to your project", + "file": "generated/packages/playwright/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/playwright/src/generators/configuration/schema.json", + "path": "/technologies/test-tools/playwright/api/generators/configuration", + "type": "generator" + }, + "/technologies/test-tools/playwright/api/generators/init": { + "description": "Initializes a Playwright project in the current workspace", + "file": "generated/packages/playwright/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/playwright/src/generators/init/schema.json", + "path": "/technologies/test-tools/playwright/api/generators/init", + "type": "generator" + }, + "/technologies/test-tools/playwright/api/generators/convert-to-inferred": { + "description": "Convert existing Playwright project(s) using `@nx/playwright:playwright` executor to use `@nx/playwright/plugin`.", + "file": "generated/packages/playwright/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/playwright/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/test-tools/playwright/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/test-tools/playwright/api/migrations/update-19-6-0-add-e2e-ci-target-defaults": { + "description": "Add inferred ciTargetNames to targetDefaults with dependsOn to ensure dependent application builds are scheduled before atomized tasks.", + "file": "generated/packages/playwright/migrations/update-19-6-0-add-e2e-ci-target-defaults.json", + "hidden": false, + "name": "update-19-6-0-add-e2e-ci-target-defaults", + "version": "19.6.0-beta.1", + "originalFilePath": "/packages/playwright", + "path": "/technologies/test-tools/playwright/api/migrations/update-19-6-0-add-e2e-ci-target-defaults", + "type": "migration" + }, + "/technologies/test-tools/playwright/api/migrations/19-6-0-use-serve-static-preview-for-command": { + "description": "Use serve-static or preview for webServerCommand.", + "file": "generated/packages/playwright/migrations/19-6-0-use-serve-static-preview-for-command.json", + "hidden": false, + "name": "19-6-0-use-serve-static-preview-for-command", + "version": "19.6.0-beta.0", + "originalFilePath": "/packages/playwright", + "path": "/technologies/test-tools/playwright/api/migrations/19-6-0-use-serve-static-preview-for-command", + "type": "migration" + } + }, + "path": "/technologies/playwright/playwright" + }, + "plugin": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "plugin", + "packageName": "@nx/plugin", + "description": "This plugin is used to create Nx plugins! It contains generators for generating common plugin features like generators, executors, migrations and more.", + "documents": {}, + "root": "/packages/plugin", + "source": "/packages/plugin/src", + "executors": {}, + "generators": { + "/reference/core-api/plugin/generators/plugin": { + "description": "Create a Nx Plugin.", + "file": "generated/packages/plugin/generators/plugin.json", + "hidden": false, + "name": "plugin", + "originalFilePath": "/packages/plugin/src/generators/plugin/schema.json", + "path": "/reference/core-api/plugin/generators/plugin", + "type": "generator" + }, + "/reference/core-api/plugin/generators/create-package": { + "description": "Create a package which can be used by npx to create a new workspace", + "file": "generated/packages/plugin/generators/create-package.json", + "hidden": false, + "name": "create-package", + "originalFilePath": "/packages/plugin/src/generators/create-package/schema.json", + "path": "/reference/core-api/plugin/generators/create-package", + "type": "generator" + }, + "/reference/core-api/plugin/generators/e2e-project": { + "description": "Create a E2E application for a Nx Plugin.", + "file": "generated/packages/plugin/generators/e2e-project.json", + "hidden": false, + "name": "e2e-project", + "originalFilePath": "/packages/plugin/src/generators/e2e-project/schema.json", + "path": "/reference/core-api/plugin/generators/e2e-project", + "type": "generator" + }, + "/reference/core-api/plugin/generators/migration": { + "description": "Create a migration for an Nx Plugin.", + "file": "generated/packages/plugin/generators/migration.json", + "hidden": false, + "name": "migration", + "originalFilePath": "/packages/plugin/src/generators/migration/schema.json", + "path": "/reference/core-api/plugin/generators/migration", + "type": "generator" + }, + "/reference/core-api/plugin/generators/generator": { + "description": "Create a generator for an Nx Plugin.", + "file": "generated/packages/plugin/generators/generator.json", + "hidden": false, + "name": "generator", + "originalFilePath": "/packages/plugin/src/generators/generator/schema.json", + "path": "/reference/core-api/plugin/generators/generator", + "type": "generator" + }, + "/reference/core-api/plugin/generators/executor": { + "description": "Create an executor for an Nx Plugin.", + "file": "generated/packages/plugin/generators/executor.json", + "hidden": false, + "name": "executor", + "originalFilePath": "/packages/plugin/src/generators/executor/schema.json", + "path": "/reference/core-api/plugin/generators/executor", + "type": "generator" + }, + "/reference/core-api/plugin/generators/plugin-lint-checks": { + "description": "Adds linting configuration to validate common json files for nx plugins.", + "file": "generated/packages/plugin/generators/plugin-lint-checks.json", + "hidden": false, + "name": "plugin-lint-checks", + "originalFilePath": "/packages/plugin/src/generators/lint-checks/schema.json", + "path": "/reference/core-api/plugin/generators/plugin-lint-checks", + "type": "generator" + }, + "/reference/core-api/plugin/generators/preset": { + "description": "Initializes a workspace with an nx-plugin inside of it. Use as: `create-nx-workspace --preset @nx/plugin`.", + "file": "generated/packages/plugin/generators/preset.json", + "hidden": true, + "name": "preset", + "originalFilePath": "/packages/plugin/src/generators/preset/schema.json", + "path": "/reference/core-api/plugin/generators/preset", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/plugin/plugin" + }, + "react": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "react", + "packageName": "@nx/react", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/react", + "source": "/packages/react/src", + "executors": { + "/technologies/react/api/executors/module-federation-dev-server": { + "description": "Serve a host or remote application.", + "file": "generated/packages/react/executors/module-federation-dev-server.json", + "hidden": false, + "name": "module-federation-dev-server", + "originalFilePath": "/packages/react/src/executors/module-federation-dev-server/schema.json", + "path": "/technologies/react/api/executors/module-federation-dev-server", + "type": "executor" + }, + "/technologies/react/api/executors/module-federation-ssr-dev-server": { + "description": "Serve a host application along with it's known remotes.", + "file": "generated/packages/react/executors/module-federation-ssr-dev-server.json", + "hidden": false, + "name": "module-federation-ssr-dev-server", + "originalFilePath": "/packages/react/src/executors/module-federation-ssr-dev-server/schema.json", + "path": "/technologies/react/api/executors/module-federation-ssr-dev-server", + "type": "executor" + }, + "/technologies/react/api/executors/module-federation-static-server": { + "description": "Serve a host and its remotes statically.", + "file": "generated/packages/react/executors/module-federation-static-server.json", + "hidden": false, + "name": "module-federation-static-server", + "originalFilePath": "/packages/react/src/executors/module-federation-static-server/schema.json", + "path": "/technologies/react/api/executors/module-federation-static-server", + "type": "executor" + } + }, + "generators": { + "/technologies/react/api/generators/init": { + "description": "Initialize the `@nx/react` plugin.", + "file": "generated/packages/react/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/react/src/generators/init/schema.json", + "path": "/technologies/react/api/generators/init", + "type": "generator" + }, + "/technologies/react/api/generators/application": { + "description": "Create a React application.", + "file": "generated/packages/react/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/react/src/generators/application/schema.json", + "path": "/technologies/react/api/generators/application", + "type": "generator" + }, + "/technologies/react/api/generators/library": { + "description": "Create a React library.", + "file": "generated/packages/react/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/react/src/generators/library/schema.json", + "path": "/technologies/react/api/generators/library", + "type": "generator" + }, + "/technologies/react/api/generators/component": { + "description": "Create a React component.", + "file": "generated/packages/react/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/react/src/generators/component/schema.json", + "path": "/technologies/react/api/generators/component", + "type": "generator" + }, + "/technologies/react/api/generators/redux": { + "description": "Create a Redux slice for a project.", + "file": "generated/packages/react/generators/redux.json", + "hidden": false, + "name": "redux", + "originalFilePath": "/packages/react/src/generators/redux/schema.json", + "path": "/technologies/react/api/generators/redux", + "type": "generator" + }, + "/technologies/react/api/generators/storybook-configuration": { + "description": "Set up storybook for a React app or library.", + "file": "generated/packages/react/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/react/src/generators/storybook-configuration/schema.json", + "path": "/technologies/react/api/generators/storybook-configuration", + "type": "generator" + }, + "/technologies/react/api/generators/component-story": { + "description": "Generate storybook story for a React component", + "file": "generated/packages/react/generators/component-story.json", + "hidden": false, + "name": "component-story", + "originalFilePath": "/packages/react/src/generators/component-story/schema.json", + "path": "/technologies/react/api/generators/component-story", + "type": "generator" + }, + "/technologies/react/api/generators/stories": { + "description": "Create stories/specs for all components declared in an app or library.", + "file": "generated/packages/react/generators/stories.json", + "hidden": false, + "name": "stories", + "originalFilePath": "/packages/react/src/generators/stories/schema.json", + "path": "/technologies/react/api/generators/stories", + "type": "generator" + }, + "/technologies/react/api/generators/hook": { + "description": "Create a hook.", + "file": "generated/packages/react/generators/hook.json", + "hidden": false, + "name": "hook", + "originalFilePath": "/packages/react/src/generators/hook/schema.json", + "path": "/technologies/react/api/generators/hook", + "type": "generator" + }, + "/technologies/react/api/generators/host": { + "description": "Generate a host react application", + "file": "generated/packages/react/generators/host.json", + "hidden": false, + "name": "host", + "originalFilePath": "/packages/react/src/generators/host/schema.json", + "path": "/technologies/react/api/generators/host", + "type": "generator" + }, + "/technologies/react/api/generators/remote": { + "description": "Generate a remote react application", + "file": "generated/packages/react/generators/remote.json", + "hidden": false, + "name": "remote", + "originalFilePath": "/packages/react/src/generators/remote/schema.json", + "path": "/technologies/react/api/generators/remote", + "type": "generator" + }, + "/technologies/react/api/generators/cypress-component-configuration": { + "description": "Setup Cypress component testing for a React project", + "file": "generated/packages/react/generators/cypress-component-configuration.json", + "hidden": false, + "name": "cypress-component-configuration", + "originalFilePath": "/packages/react/src/generators/cypress-component-configuration/schema.json", + "path": "/technologies/react/api/generators/cypress-component-configuration", + "type": "generator" + }, + "/technologies/react/api/generators/component-test": { + "description": "Generate a Cypress component test for a React component", + "file": "generated/packages/react/generators/component-test.json", + "hidden": false, + "name": "component-test", + "originalFilePath": "/packages/react/src/generators/component-test/schema.json", + "path": "/technologies/react/api/generators/component-test", + "type": "generator" + }, + "/technologies/react/api/generators/setup-tailwind": { + "description": "Set up Tailwind configuration for a project.", + "file": "generated/packages/react/generators/setup-tailwind.json", + "hidden": false, + "name": "setup-tailwind", + "originalFilePath": "/packages/react/src/generators/setup-tailwind/schema.json", + "path": "/technologies/react/api/generators/setup-tailwind", + "type": "generator" + }, + "/technologies/react/api/generators/setup-ssr": { + "description": "Set up SSR configuration for a project.", + "file": "generated/packages/react/generators/setup-ssr.json", + "hidden": false, + "name": "setup-ssr", + "originalFilePath": "/packages/react/src/generators/setup-ssr/schema.json", + "path": "/technologies/react/api/generators/setup-ssr", + "type": "generator" + }, + "/technologies/react/api/generators/federate-module": { + "description": "Federate a module.", + "file": "generated/packages/react/generators/federate-module.json", + "hidden": false, + "name": "federate-module", + "originalFilePath": "/packages/react/src/generators/federate-module/schema.json", + "path": "/technologies/react/api/generators/federate-module", + "type": "generator" + } + }, + "migrations": { + "/technologies/react/api/migrations/update-21-0-0-update-babel-loose": { + "description": "Replaces `classProperties.loose` option with `loose`.", + "file": "generated/packages/react/migrations/update-21-0-0-update-babel-loose.json", + "hidden": false, + "name": "update-21-0-0-update-babel-loose", + "version": "21.0.0-beta.11", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-21-0-0-update-babel-loose", + "type": "migration" + }, + "/technologies/react/api/migrations/add-mf-env-var-to-target-defaults": { + "description": "Add NX_MF_DEV_REMOTES to inputs for task hashing when '@nx/webpack:webpack' or '@nx/rspack:rspack' is used for Module Federation.", + "file": "generated/packages/react/migrations/add-mf-env-var-to-target-defaults.json", + "hidden": false, + "name": "add-mf-env-var-to-target-defaults", + "version": "20.4.0-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/add-mf-env-var-to-target-defaults", + "type": "migration" + }, + "/technologies/react/api/migrations/ensure-nx-module-federation-package": { + "description": "If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.", + "file": "generated/packages/react/migrations/ensure-nx-module-federation-package.json", + "hidden": false, + "name": "ensure-nx-module-federation-package", + "version": "20.3.0-beta.2", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/ensure-nx-module-federation-package", + "type": "migration" + }, + "/technologies/react/api/migrations/20.3.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/20.3.0-package-updates.json", + "hidden": false, + "name": "20.3.0-package-updates", + "version": "20.3.0-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/20.3.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.3", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/update-20-2-0-update-module-federation-config-import": { + "description": "Update the ModuleFederationConfig import use @nx/module-federation.", + "file": "generated/packages/react/migrations/update-20-2-0-update-module-federation-config-import.json", + "hidden": false, + "name": "update-20-2-0-update-module-federation-config-import", + "version": "20.2.0-beta.2", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-20-2-0-update-module-federation-config-import", + "type": "migration" + }, + "/technologies/react/api/migrations/update-20-2-0-update-with-module-federation-import": { + "description": "Update the withModuleFederation import use @nx/module-federation/webpack.", + "file": "generated/packages/react/migrations/update-20-2-0-update-with-module-federation-import.json", + "hidden": false, + "name": "update-20-2-0-update-with-module-federation-import", + "version": "20.2.0-beta.2", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-20-2-0-update-with-module-federation-import", + "type": "migration" + }, + "/technologies/react/api/migrations/20.1.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/20.1.0-package-updates.json", + "hidden": false, + "name": "20.1.0-package-updates", + "version": "20.1.0-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/20.1.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/20.0.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/20.0.0-package-updates.json", + "hidden": false, + "name": "20.0.0-package-updates", + "version": "20.0.0-beta.8", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/20.0.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/19.7.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/19.7.0-package-updates.json", + "hidden": false, + "name": "19.7.0-package-updates", + "version": "19.7.0-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/19.7.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/update-19-6-1-ensure-module-federation-target-defaults": { + "description": "Ensure Target Defaults are set correctly for Module Federation.", + "file": "generated/packages/react/migrations/update-19-6-1-ensure-module-federation-target-defaults.json", + "hidden": false, + "name": "update-19-6-1-ensure-module-federation-target-defaults", + "version": "19.6.1-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-19-6-1-ensure-module-federation-target-defaults", + "type": "migration" + }, + "/technologies/react/api/migrations/update-19-6-0-turn-module-federation-dts-off": { + "description": "Ensure Module Federation DTS is turned off by default.", + "file": "generated/packages/react/migrations/update-19-6-0-turn-module-federation-dts-off.json", + "hidden": false, + "name": "update-19-6-0-turn-module-federation-dts-off", + "version": "19.6.0-beta.4", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-19-6-0-turn-module-federation-dts-off", + "type": "migration" + }, + "/technologies/react/api/migrations/update-module-federation-ssr-server-file": { + "description": "Update the server file for Module Federation SSR port value to be the same as the 'serve' target port value.", + "file": "generated/packages/react/migrations/update-module-federation-ssr-server-file.json", + "hidden": false, + "name": "update-module-federation-ssr-server-file", + "version": "19.6.0-beta.4", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/update-module-federation-ssr-server-file", + "type": "migration" + }, + "/technologies/react/api/migrations/19.5.0-module-federation-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/19.5.0-module-federation-package-updates.json", + "hidden": false, + "name": "19.5.0-module-federation-package-updates", + "version": "19.5.0-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/19.5.0-module-federation-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.8", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/19.2.0-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/19.0.3-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/19.0.3-package-updates.json", + "hidden": false, + "name": "19.0.3-package-updates", + "version": "19.0.3-beta.0", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/19.0.3-package-updates", + "type": "migration" + }, + "/technologies/react/api/migrations/19.0.0-package-updates": { + "description": "", + "file": "generated/packages/react/migrations/19.0.0-package-updates.json", + "hidden": false, + "name": "19.0.0-package-updates", + "version": "19.0.0-beta.12", + "originalFilePath": "/packages/react", + "path": "/technologies/react/api/migrations/19.0.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/react/react" + }, + "react-native": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "react-native", + "packageName": "@nx/react-native", + "description": "The Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides: \n\n-Integration with libraries such as Jest, Detox, and Storybook.\n-Scaffolding for creating buildable libraries that can be published to npm.\n-Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/react-native", + "source": "/packages/react-native/src", + "executors": { + "/technologies/react/react-native/api/executors/run-android": { + "description": "Runs Android application.", + "file": "generated/packages/react-native/executors/run-android.json", + "hidden": false, + "name": "run-android", + "originalFilePath": "/packages/react-native/src/executors/run-android/schema.json", + "path": "/technologies/react/react-native/api/executors/run-android", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/run-ios": { + "description": "Runs iOS application.", + "file": "generated/packages/react-native/executors/run-ios.json", + "hidden": false, + "name": "run-ios", + "originalFilePath": "/packages/react-native/src/executors/run-ios/schema.json", + "path": "/technologies/react/react-native/api/executors/run-ios", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/bundle": { + "description": "Builds the JavaScript bundle for offline use.", + "file": "generated/packages/react-native/executors/bundle.json", + "hidden": false, + "name": "bundle", + "originalFilePath": "/packages/react-native/src/executors/bundle/schema.json", + "path": "/technologies/react/react-native/api/executors/bundle", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/build-android": { + "description": "Release Build for Android.", + "file": "generated/packages/react-native/executors/build-android.json", + "hidden": false, + "name": "build-android", + "originalFilePath": "/packages/react-native/src/executors/build-android/schema.json", + "path": "/technologies/react/react-native/api/executors/build-android", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/build-ios": { + "description": "Build iOS app", + "file": "generated/packages/react-native/executors/build-ios.json", + "hidden": false, + "name": "build-ios", + "originalFilePath": "/packages/react-native/src/executors/build-ios/schema.json", + "path": "/technologies/react/react-native/api/executors/build-ios", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/start": { + "description": "Starts the Javascript server that communicates with connected devices.", + "file": "generated/packages/react-native/executors/start.json", + "hidden": false, + "name": "start", + "originalFilePath": "/packages/react-native/src/executors/start/schema.json", + "path": "/technologies/react/react-native/api/executors/start", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/sync-deps": { + "description": "Syncs dependencies to `package.json` (required for autolinking).", + "file": "generated/packages/react-native/executors/sync-deps.json", + "hidden": false, + "name": "sync-deps", + "originalFilePath": "/packages/react-native/src/executors/sync-deps/schema.json", + "path": "/technologies/react/react-native/api/executors/sync-deps", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/ensure-symlink": { + "description": "Ensure workspace `node_modules` is symlink under app's `node_modules` folder.", + "file": "generated/packages/react-native/executors/ensure-symlink.json", + "hidden": false, + "name": "ensure-symlink", + "originalFilePath": "/packages/react-native/src/executors/ensure-symlink/schema.json", + "path": "/technologies/react/react-native/api/executors/ensure-symlink", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/storybook": { + "description": "Serve React Native Storybook.", + "file": "generated/packages/react-native/executors/storybook.json", + "hidden": false, + "name": "storybook", + "originalFilePath": "/packages/react-native/src/executors/storybook/schema.json", + "path": "/technologies/react/react-native/api/executors/storybook", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/pod-install": { + "description": "Run `pod install` in the `ios` directory.", + "file": "generated/packages/react-native/executors/pod-install.json", + "hidden": false, + "name": "pod-install", + "originalFilePath": "/packages/react-native/src/executors/pod-install/schema.json", + "path": "/technologies/react/react-native/api/executors/pod-install", + "type": "executor" + }, + "/technologies/react/react-native/api/executors/upgrade": { + "description": "upgrade executor", + "file": "generated/packages/react-native/executors/upgrade.json", + "hidden": false, + "name": "upgrade", + "originalFilePath": "/packages/react-native/src/executors/upgrade/schema.json", + "path": "/technologies/react/react-native/api/executors/upgrade", + "type": "executor" + } + }, + "generators": { + "/technologies/react/react-native/api/generators/init": { + "description": "Initialize the `@nx/react-native` plugin.", + "file": "generated/packages/react-native/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/react-native/src/generators/init/schema.json", + "path": "/technologies/react/react-native/api/generators/init", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/application": { + "description": "Create a React Native application.", + "file": "generated/packages/react-native/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/react-native/src/generators/application/schema.json", + "path": "/technologies/react/react-native/api/generators/application", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/library": { + "description": "Create a React Native library.", + "file": "generated/packages/react-native/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/react-native/src/generators/library/schema.json", + "path": "/technologies/react/react-native/api/generators/library", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/component": { + "description": "Create a React Native component.", + "file": "generated/packages/react-native/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/react-native/src/generators/component/schema.json", + "path": "/technologies/react/react-native/api/generators/component", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/storybook-configuration": { + "description": "Set up Storybook for a React Native application or library.", + "file": "generated/packages/react-native/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/react-native/src/generators/storybook-configuration/schema.json", + "path": "/technologies/react/react-native/api/generators/storybook-configuration", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/component-story": { + "description": "Generate Storybook story for a React Native component.", + "file": "generated/packages/react-native/generators/component-story.json", + "hidden": false, + "name": "component-story", + "originalFilePath": "/packages/react-native/src/generators/component-story/schema.json", + "path": "/technologies/react/react-native/api/generators/component-story", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/stories": { + "description": "Create stories for all components declared in an application or library.", + "file": "generated/packages/react-native/generators/stories.json", + "hidden": false, + "name": "stories", + "originalFilePath": "/packages/react-native/src/generators/stories/schema.json", + "path": "/technologies/react/react-native/api/generators/stories", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/upgrade-native": { + "description": "Destructive command to upgrade native iOS and Android code to latest.", + "file": "generated/packages/react-native/generators/upgrade-native.json", + "hidden": false, + "name": "upgrade-native", + "originalFilePath": "/packages/react-native/src/generators/upgrade-native/schema.json", + "path": "/technologies/react/react-native/api/generators/upgrade-native", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/web-configuration": { + "description": "Set up web configuration for a React Native app", + "file": "generated/packages/react-native/generators/web-configuration.json", + "hidden": false, + "name": "web-configuration", + "originalFilePath": "/packages/react-native/src/generators/web-configuration/schema.json", + "path": "/technologies/react/react-native/api/generators/web-configuration", + "type": "generator" + }, + "/technologies/react/react-native/api/generators/convert-to-inferred": { + "description": "Convert existing React Native project(s) using `@nx/react-native:*` executors to use `@nx/react-native/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/react-native/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/react-native/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/react/react-native/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/react/react-native/api/migrations/20.3.0-package-updates": { + "description": "", + "file": "generated/packages/react-native/migrations/20.3.0-package-updates.json", + "hidden": false, + "name": "20.3.0-package-updates", + "version": "20.3.0-beta.0", + "originalFilePath": "/packages/react-native", + "path": "/technologies/react/react-native/api/migrations/20.3.0-package-updates", + "type": "migration" + }, + "/technologies/react/react-native/api/migrations/update-19-6-0-rename-upgrade-target-name": { + "description": "Rename upgrade target name to fix casing.", + "file": "generated/packages/react-native/migrations/update-19-6-0-rename-upgrade-target-name.json", + "hidden": false, + "name": "update-19-6-0-rename-upgrade-target-name", + "version": "19.6.0-beta.1", + "originalFilePath": "/packages/react-native", + "path": "/technologies/react/react-native/api/migrations/update-19-6-0-rename-upgrade-target-name", + "type": "migration" + }, + "/technologies/react/react-native/api/migrations/19.5.0-package-updates": { + "description": "", + "file": "generated/packages/react-native/migrations/19.5.0-package-updates.json", + "hidden": false, + "name": "19.5.0-package-updates", + "version": "19.5.0-beta.0", + "originalFilePath": "/packages/react-native", + "path": "/technologies/react/react-native/api/migrations/19.5.0-package-updates", + "type": "migration" + }, + "/technologies/react/react-native/api/migrations/19.2.0-package-updates": { + "description": "", + "file": "generated/packages/react-native/migrations/19.2.0-package-updates.json", + "hidden": false, + "name": "19.2.0-package-updates", + "version": "19.2.0-beta.2", + "originalFilePath": "/packages/react-native", + "path": "/technologies/react/react-native/api/migrations/19.2.0-package-updates", + "type": "migration" + }, + "/technologies/react/react-native/api/migrations/19.0.0-package-updates": { + "description": "", + "file": "generated/packages/react-native/migrations/19.0.0-package-updates.json", + "hidden": false, + "name": "19.0.0-package-updates", + "version": "19.0.0-beta.7", + "originalFilePath": "/packages/react-native", + "path": "/technologies/react/react-native/api/migrations/19.0.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/react-native/react-native" + }, + "remix": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "remix", + "packageName": "@nx/remix", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/remix", + "source": "/packages/remix/src", + "executors": { + "/technologies/react/remix/api/executors/serve": { + "description": "Serve a Remix application.", + "file": "generated/packages/remix/executors/serve.json", + "hidden": false, + "name": "serve", + "originalFilePath": "/packages/remix/src/executors/serve/schema.json", + "path": "/technologies/react/remix/api/executors/serve", + "type": "executor" + }, + "/technologies/react/remix/api/executors/build": { + "description": "Build a Remix application.", + "file": "generated/packages/remix/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/remix/src/executors/build/schema.json", + "path": "/technologies/react/remix/api/executors/build", + "type": "executor" + } + }, + "generators": { + "/technologies/react/remix/api/generators/preset": { + "description": "Generate a new Remix workspace", + "file": "generated/packages/remix/generators/preset.json", + "hidden": true, + "name": "preset", + "originalFilePath": "/packages/remix/src/generators/preset/schema.json", + "path": "/technologies/react/remix/api/generators/preset", + "type": "generator" + }, + "/technologies/react/remix/api/generators/setup": { + "description": "Setup a Remix in an existing workspace", + "file": "generated/packages/remix/generators/setup.json", + "hidden": true, + "name": "setup", + "originalFilePath": "/packages/remix/src/generators/setup/schema.json", + "path": "/technologies/react/remix/api/generators/setup", + "type": "generator" + }, + "/technologies/react/remix/api/generators/application": { + "description": "Generate a new Remix application", + "file": "generated/packages/remix/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/remix/src/generators/application/schema.json", + "path": "/technologies/react/remix/api/generators/application", + "type": "generator" + }, + "/technologies/react/remix/api/generators/cypress-component-configuration": { + "description": "Generate a Cypress Component Testing configuration for a Remix project", + "file": "generated/packages/remix/generators/cypress-component-configuration.json", + "hidden": false, + "name": "cypress-component-configuration", + "originalFilePath": "/packages/remix/src/generators/cypress-component-configuration/schema.json", + "path": "/technologies/react/remix/api/generators/cypress-component-configuration", + "type": "generator" + }, + "/technologies/react/remix/api/generators/library": { + "description": "Generate a new library", + "file": "generated/packages/remix/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/remix/src/generators/library/schema.json", + "path": "/technologies/react/remix/api/generators/library", + "type": "generator" + }, + "/technologies/react/remix/api/generators/init": { + "description": "Initialize the `@nx/remix` plugin.", + "file": "generated/packages/remix/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/remix/src/generators/init/schema.json", + "path": "/technologies/react/remix/api/generators/init", + "type": "generator" + }, + "/technologies/react/remix/api/generators/route": { + "description": "Generate a new route", + "file": "generated/packages/remix/generators/route.json", + "hidden": false, + "name": "route", + "originalFilePath": "/packages/remix/src/generators/route/schema.json", + "path": "/technologies/react/remix/api/generators/route", + "type": "generator" + }, + "/technologies/react/remix/api/generators/resource-route": { + "description": "Generate a new resource route", + "file": "generated/packages/remix/generators/resource-route.json", + "hidden": false, + "name": "resource-route", + "originalFilePath": "/packages/remix/src/generators/resource-route/schema.json", + "path": "/technologies/react/remix/api/generators/resource-route", + "type": "generator" + }, + "/technologies/react/remix/api/generators/action": { + "description": "Add an action function to an existing route", + "file": "generated/packages/remix/generators/action.json", + "hidden": false, + "name": "action", + "originalFilePath": "/packages/remix/src/generators/action/schema.json", + "path": "/technologies/react/remix/api/generators/action", + "type": "generator" + }, + "/technologies/react/remix/api/generators/loader": { + "description": "Add a loader function to an existing route", + "file": "generated/packages/remix/generators/loader.json", + "hidden": false, + "name": "loader", + "originalFilePath": "/packages/remix/src/generators/loader/schema.json", + "path": "/technologies/react/remix/api/generators/loader", + "type": "generator" + }, + "/technologies/react/remix/api/generators/style": { + "description": "Generates a new stylesheet and adds it to an existing route", + "file": "generated/packages/remix/generators/style.json", + "hidden": false, + "name": "style", + "originalFilePath": "/packages/remix/src/generators/style/schema.json", + "path": "/technologies/react/remix/api/generators/style", + "type": "generator" + }, + "/technologies/react/remix/api/generators/setup-tailwind": { + "description": "Generates a TailwindCSS configuration for the Remix application", + "file": "generated/packages/remix/generators/setup-tailwind.json", + "hidden": false, + "name": "setup-tailwind", + "originalFilePath": "/packages/remix/src/generators/setup-tailwind/schema.json", + "path": "/technologies/react/remix/api/generators/setup-tailwind", + "type": "generator" + }, + "/technologies/react/remix/api/generators/storybook-configuration": { + "description": "Generates a Storybook configuration for a Remix application", + "file": "generated/packages/remix/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/remix/src/generators/storybook-configuration/schema.json", + "path": "/technologies/react/remix/api/generators/storybook-configuration", + "type": "generator" + }, + "/technologies/react/remix/api/generators/meta": { + "description": "Add a meta function to an existing route", + "file": "generated/packages/remix/generators/meta.json", + "hidden": false, + "name": "meta", + "originalFilePath": "/packages/remix/src/generators/meta/schema.json", + "path": "/technologies/react/remix/api/generators/meta", + "type": "generator" + }, + "/technologies/react/remix/api/generators/error-boundary": { + "description": "Add an ErrorBoundary to an existing route", + "file": "generated/packages/remix/generators/error-boundary.json", + "hidden": false, + "name": "error-boundary", + "originalFilePath": "/packages/remix/src/generators/error-boundary/schema.json", + "path": "/technologies/react/remix/api/generators/error-boundary", + "type": "generator" + }, + "/technologies/react/remix/api/generators/convert-to-inferred": { + "description": "Convert existing Remix project(s) using `@nx/remix:*` executors to use `@nx/remix/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/remix/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/remix/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/react/remix/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/react/remix/api/migrations/20.1.0-package-updates": { + "description": "", + "file": "generated/packages/remix/migrations/20.1.0-package-updates.json", + "hidden": false, + "name": "20.1.0-package-updates", + "version": "20.1.0-beta.5", + "originalFilePath": "/packages/remix", + "path": "/technologies/react/remix/api/migrations/20.1.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/remix/remix" + }, + "rollup": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "rollup", + "packageName": "@nx/rollup", + "description": "The Nx Plugin for Rollup contains executors and generators that support building applications using Rollup.", + "documents": {}, + "root": "/packages/rollup", + "source": "/packages/rollup/src", + "executors": { + "/technologies/build-tools/rollup/api/executors/rollup": { + "description": "Bundle a package using Rollup.", + "file": "generated/packages/rollup/executors/rollup.json", + "hidden": false, + "name": "rollup", + "originalFilePath": "/packages/rollup/src/executors/rollup/schema.json", + "path": "/technologies/build-tools/rollup/api/executors/rollup", + "type": "executor" + } + }, + "generators": { + "/technologies/build-tools/rollup/api/generators/init": { + "description": "Initialize the `@nx/rollup` plugin.", + "file": "generated/packages/rollup/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/rollup/src/generators/init/schema.json", + "path": "/technologies/build-tools/rollup/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/rollup/api/generators/configuration": { + "description": "Add rollup configuration to a project.", + "file": "generated/packages/rollup/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/rollup/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/rollup/api/generators/configuration", + "type": "generator" + }, + "/technologies/build-tools/rollup/api/generators/convert-to-inferred": { + "description": "Convert existing Rollup project(s) using `@nx/rollup:*` executors to use `@nx/rollup/plugin`.", + "file": "generated/packages/rollup/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/rollup/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/build-tools/rollup/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/build-tools/rollup/api/migrations/19.0.0-package-updates": { + "description": "", + "file": "generated/packages/rollup/migrations/19.0.0-package-updates.json", + "hidden": false, + "name": "19.0.0-package-updates", + "version": "19.0.0-beta.0", + "originalFilePath": "/packages/rollup", + "path": "/technologies/build-tools/rollup/api/migrations/19.0.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/rollup/rollup" + }, + "rsbuild": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "rsbuild", + "packageName": "@nx/rsbuild", + "description": "The Nx Plugin for Rsbuild contains an Nx plugin, executors and utilities that support building applications using Rsbuild.", + "documents": {}, + "root": "/packages/rsbuild", + "source": "/packages/rsbuild/src", + "executors": {}, + "generators": { + "/technologies/build-tools/rsbuild/api/generators/init": { + "description": "Initialize the `@nx/rsbuild` plugin.", + "file": "generated/packages/rsbuild/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/rsbuild/src/generators/init/schema.json", + "path": "/technologies/build-tools/rsbuild/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/rsbuild/api/generators/configuration": { + "description": "Add an Rsbuild configuration for the provided project.", + "file": "generated/packages/rsbuild/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/rsbuild/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/rsbuild/api/generators/configuration", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/rsbuild/rsbuild" + }, + "rspack": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "rspack", + "packageName": "@nx/rspack", + "description": "The Nx Plugin for Rspack contains executors and generators that support building applications using Rspack.", + "documents": {}, + "root": "/packages/rspack", + "source": "/packages/rspack/src", + "executors": { + "/technologies/build-tools/rspack/api/executors/rspack": { + "description": "Run Rspack via an executor for a project.", + "file": "generated/packages/rspack/executors/rspack.json", + "hidden": false, + "name": "rspack", + "originalFilePath": "/packages/rspack/src/executors/rspack/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/rspack", + "type": "executor" + }, + "/technologies/build-tools/rspack/api/executors/dev-server": { + "description": "Run @rspack/dev-server to serve a project.", + "file": "generated/packages/rspack/executors/dev-server.json", + "hidden": false, + "name": "dev-server", + "originalFilePath": "/packages/rspack/src/executors/dev-server/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/dev-server", + "type": "executor" + }, + "/technologies/build-tools/rspack/api/executors/ssr-dev-server": { + "description": "Serve a SSR application.", + "file": "generated/packages/rspack/executors/ssr-dev-server.json", + "hidden": false, + "name": "ssr-dev-server", + "originalFilePath": "/packages/rspack/src/executors/ssr-dev-server/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/ssr-dev-server", + "type": "executor" + }, + "/technologies/build-tools/rspack/api/executors/module-federation-dev-server": { + "description": "Serve a host or remote application.", + "file": "generated/packages/rspack/executors/module-federation-dev-server.json", + "hidden": false, + "name": "module-federation-dev-server", + "originalFilePath": "/packages/rspack/src/executors/module-federation-dev-server/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-dev-server", + "type": "executor" + }, + "/technologies/build-tools/rspack/api/executors/module-federation-ssr-dev-server": { + "description": "Serve a host application along with it's known remotes.", + "file": "generated/packages/rspack/executors/module-federation-ssr-dev-server.json", + "hidden": false, + "name": "module-federation-ssr-dev-server", + "originalFilePath": "/packages/rspack/src/executors/module-federation-ssr-dev-server/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-ssr-dev-server", + "type": "executor" + }, + "/technologies/build-tools/rspack/api/executors/module-federation-static-server": { + "description": "Serve a host and its remotes statically.", + "file": "generated/packages/rspack/executors/module-federation-static-server.json", + "hidden": false, + "name": "module-federation-static-server", + "originalFilePath": "/packages/rspack/src/executors/module-federation-static-server/schema.json", + "path": "/technologies/build-tools/rspack/api/executors/module-federation-static-server", + "type": "executor" + } + }, + "generators": { + "/technologies/build-tools/rspack/api/generators/configuration": { + "description": "Rspack configuration generator.", + "file": "generated/packages/rspack/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/rspack/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/configuration", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/init": { + "description": "Rspack init generator.", + "file": "generated/packages/rspack/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/rspack/src/generators/init/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/preset": { + "description": "React preset generator.", + "file": "generated/packages/rspack/generators/preset.json", + "hidden": true, + "name": "preset", + "originalFilePath": "/packages/rspack/src/generators/preset/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/preset", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/application": { + "description": "React application generator.", + "file": "generated/packages/rspack/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/rspack/src/generators/application/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/application", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/convert-webpack": { + "description": "Convert a webpack application to use rspack.", + "file": "generated/packages/rspack/generators/convert-webpack.json", + "hidden": false, + "name": "convert-webpack", + "originalFilePath": "/packages/rspack/src/generators/convert-webpack/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/convert-webpack", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/convert-config-to-rspack-plugin": { + "description": "Convert the project to use the `NxAppRspackPlugin` and `NxReactRspackPlugin`.", + "file": "generated/packages/rspack/generators/convert-config-to-rspack-plugin.json", + "hidden": false, + "name": "convert-config-to-rspack-plugin", + "originalFilePath": "/packages/rspack/src/generators/convert-config-to-rspack-plugin/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/convert-config-to-rspack-plugin", + "type": "generator" + }, + "/technologies/build-tools/rspack/api/generators/convert-to-inferred": { + "description": "Convert existing Rspack project(s) using `@nx/rspack:rspack` executor to use `@nx/rspack/plugin`.", + "file": "generated/packages/rspack/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/rspack/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/build-tools/rspack/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/build-tools/rspack/api/migrations/21.0.1-package-updates": { + "description": "", + "file": "generated/packages/rspack/migrations/21.0.1-package-updates.json", + "hidden": false, + "name": "21.0.1-package-updates", + "version": "21.0.1-beta.0", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/21.0.1-package-updates", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/20.5.0-package-updates": { + "description": "", + "file": "generated/packages/rspack/migrations/20.5.0-package-updates.json", + "hidden": false, + "name": "20.5.0-package-updates", + "version": "20.5.0-beta.4", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/20.5.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/ensure-nx-module-federation-package": { + "description": "If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.", + "file": "generated/packages/rspack/migrations/ensure-nx-module-federation-package.json", + "hidden": false, + "name": "ensure-nx-module-federation-package", + "version": "20.3.0-beta.2", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/ensure-nx-module-federation-package", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/rspack/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.7", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/update-20-2-0-update-with-module-federation-import": { + "description": "Update the withModuleFederation import use @nx/module-federation/rspack.", + "file": "generated/packages/rspack/migrations/update-20-2-0-update-with-module-federation-import.json", + "hidden": false, + "name": "update-20-2-0-update-with-module-federation-import", + "version": "20.2.0-beta.3", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/update-20-2-0-update-with-module-federation-import", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/19.7.0-package-updates": { + "description": "", + "file": "generated/packages/rspack/migrations/19.7.0-package-updates.json", + "hidden": false, + "name": "19.7.0-package-updates", + "version": "19.7.0-beta.1", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/19.7.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/rspack/api/migrations/19.3.0-package-updates": { + "description": "", + "file": "generated/packages/rspack/migrations/19.3.0-package-updates.json", + "hidden": false, + "name": "19.3.0-package-updates", + "version": "19.3.0-beta.0", + "originalFilePath": "/packages/rspack", + "path": "/technologies/build-tools/rspack/api/migrations/19.3.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/rspack/rspack" + }, + "storybook": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "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" + } + }, + "root": "/packages/storybook", + "source": "/packages/storybook/src", + "executors": { + "/technologies/test-tools/storybook/api/executors/storybook": { + "description": "Serve Storybook.", + "file": "generated/packages/storybook/executors/storybook.json", + "hidden": false, + "name": "storybook", + "originalFilePath": "/packages/storybook/src/executors/storybook/schema.json", + "path": "/technologies/test-tools/storybook/api/executors/storybook", + "type": "executor" + }, + "/technologies/test-tools/storybook/api/executors/build": { + "description": "Build Storybook.", + "file": "generated/packages/storybook/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/storybook/src/executors/build-storybook/schema.json", + "path": "/technologies/test-tools/storybook/api/executors/build", + "type": "executor" + } + }, + "generators": { + "/technologies/test-tools/storybook/api/generators/init": { + "description": "Add Storybook configuration to the workspace.", + "file": "generated/packages/storybook/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/storybook/src/generators/init/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/init", + "type": "generator" + }, + "/technologies/test-tools/storybook/api/generators/configuration": { + "description": "Add Storybook configuration to a UI library or an application.", + "file": "generated/packages/storybook/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/storybook/src/generators/configuration/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/configuration", + "type": "generator" + }, + "/technologies/test-tools/storybook/api/generators/cypress-project": { + "description": "Add cypress E2E app to test a ui library that is set up for Storybook.", + "file": "generated/packages/storybook/generators/cypress-project.json", + "hidden": false, + "name": "cypress-project", + "originalFilePath": "/packages/storybook/src/generators/cypress-project/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/cypress-project", + "type": "generator" + }, + "/technologies/test-tools/storybook/api/generators/convert-to-inferred": { + "description": "Convert existing Storybook project(s) using `@nx/storybook:*` executors to use `@nx/storybook/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/storybook/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/storybook/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/convert-to-inferred", + "type": "generator" + }, + "/technologies/test-tools/storybook/api/generators/migrate-7": { + "description": "Migrate to Storybook version 7.", + "file": "generated/packages/storybook/generators/migrate-7.json", + "hidden": false, + "name": "migrate-7", + "originalFilePath": "/packages/storybook/src/generators/migrate-7/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/migrate-7", + "type": "generator" + }, + "/technologies/test-tools/storybook/api/generators/migrate-8": { + "description": "Migrate to Storybook version 8.", + "file": "generated/packages/storybook/generators/migrate-8.json", + "hidden": false, + "name": "migrate-8", + "originalFilePath": "/packages/storybook/src/generators/migrate-8/schema.json", + "path": "/technologies/test-tools/storybook/api/generators/migrate-8", + "type": "generator" + } + }, + "migrations": { + "/technologies/test-tools/storybook/api/migrations/20.8.0-package-updates": { + "description": "", + "file": "generated/packages/storybook/migrations/20.8.0-package-updates.json", + "hidden": false, + "name": "20.8.0-package-updates", + "version": "20.8.0-beta.0", + "originalFilePath": "/packages/storybook", + "path": "/technologies/test-tools/storybook/api/migrations/20.8.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/storybook/api/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/storybook/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/storybook", + "path": "/technologies/test-tools/storybook/api/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/storybook/api/migrations/19.6.0-package-updates": { + "description": "", + "file": "generated/packages/storybook/migrations/19.6.0-package-updates.json", + "hidden": false, + "name": "19.6.0-package-updates", + "version": "19.6.0-beta.1", + "originalFilePath": "/packages/storybook", + "path": "/technologies/test-tools/storybook/api/migrations/19.6.0-package-updates", + "type": "migration" + }, + "/technologies/test-tools/storybook/api/migrations/update-19-6-0-add-nx-packages": { + "description": "Update workspace to use Storybook v8", + "file": "generated/packages/storybook/migrations/update-19-6-0-add-nx-packages.json", + "hidden": false, + "name": "update-19-6-0-add-nx-packages", + "version": "19.6.0-beta.0", + "originalFilePath": "/packages/storybook", + "path": "/technologies/test-tools/storybook/api/migrations/update-19-6-0-add-nx-packages", + "type": "migration" + } + }, + "path": "/technologies/storybook/storybook" + }, + "vite": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "vite", + "packageName": "@nx/vite", + "description": "The Nx Plugin for building and testing applications using Vite", + "documents": {}, + "root": "/packages/vite", + "source": "/packages/vite/src", + "executors": { + "/technologies/build-tools/vite/api/executors/dev-server": { + "description": "Vite dev server.", + "file": "generated/packages/vite/executors/dev-server.json", + "hidden": false, + "name": "dev-server", + "originalFilePath": "/packages/vite/src/executors/dev-server/schema.json", + "path": "/technologies/build-tools/vite/api/executors/dev-server", + "type": "executor" + }, + "/technologies/build-tools/vite/api/executors/build": { + "description": "Build with Vite.", + "file": "generated/packages/vite/executors/build.json", + "hidden": false, + "name": "build", + "originalFilePath": "/packages/vite/src/executors/build/schema.json", + "path": "/technologies/build-tools/vite/api/executors/build", + "type": "executor" + }, + "/technologies/build-tools/vite/api/executors/test": { + "description": "Test with Vitest", + "file": "generated/packages/vite/executors/test.json", + "hidden": false, + "name": "test", + "originalFilePath": "/packages/vite/src/executors/test/schema.json", + "path": "/technologies/build-tools/vite/api/executors/test", + "type": "executor" + }, + "/technologies/build-tools/vite/api/executors/preview-server": { + "description": "Vite preview server", + "file": "generated/packages/vite/executors/preview-server.json", + "hidden": false, + "name": "preview-server", + "originalFilePath": "/packages/vite/src/executors/preview-server/schema.json", + "path": "/technologies/build-tools/vite/api/executors/preview-server", + "type": "executor" + } + }, + "generators": { + "/technologies/build-tools/vite/api/generators/init": { + "description": "Initialize Vite in the workspace.", + "file": "generated/packages/vite/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/vite/src/generators/init/schema.json", + "path": "/technologies/build-tools/vite/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/vite/api/generators/configuration": { + "description": "Add Vite configuration to an application.", + "file": "generated/packages/vite/generators/configuration.json", + "hidden": false, + "name": "configuration", + "originalFilePath": "/packages/vite/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/vite/api/generators/configuration", + "type": "generator" + }, + "/technologies/build-tools/vite/api/generators/setup-paths-plugin": { + "description": "Sets up the nxViteTsPaths plugin to enable support for workspace libraries.", + "file": "generated/packages/vite/generators/setup-paths-plugin.json", + "hidden": false, + "name": "setup-paths-plugin", + "originalFilePath": "/packages/vite/src/generators/setup-paths-plugin/schema.json", + "path": "/technologies/build-tools/vite/api/generators/setup-paths-plugin", + "type": "generator" + }, + "/technologies/build-tools/vite/api/generators/convert-to-inferred": { + "description": "Convert existing Vite project(s) using `@nx/vite:*` executors to use `@nx/vite/plugin`. Defaults to migrating all projects. Pass '--project' to migrate only one target.", + "file": "generated/packages/vite/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/vite/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/build-tools/vite/api/generators/convert-to-inferred", + "type": "generator" + }, + "/technologies/build-tools/vite/api/generators/vitest": { + "description": "Generate a vitest configuration.", + "file": "generated/packages/vite/generators/vitest.json", + "hidden": false, + "name": "vitest", + "originalFilePath": "/packages/vite/src/generators/vitest/schema.json", + "path": "/technologies/build-tools/vite/api/generators/vitest", + "type": "generator" + } + }, + "migrations": { + "/technologies/build-tools/vite/api/migrations/21.1.2-package-updates": { + "description": "", + "file": "generated/packages/vite/migrations/21.1.2-package-updates.json", + "hidden": false, + "name": "21.1.2-package-updates", + "version": "21.1.2-beta.0", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/21.1.2-package-updates", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/20.7.1-package-updates": { + "description": "", + "file": "generated/packages/vite/migrations/20.7.1-package-updates.json", + "hidden": false, + "name": "20.7.1-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/20.7.1-package-updates", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-20-5-0-update-resolve-conditions": { + "description": "Update resolve.conditions to include defaults that are no longer provided by Vite.", + "file": "generated/packages/vite/migrations/update-20-5-0-update-resolve-conditions.json", + "hidden": false, + "name": "update-20-5-0-update-resolve-conditions", + "version": "20.5.0-beta.3", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-20-5-0-update-resolve-conditions", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/eslint-ignore-vite-temp-files": { + "description": "Add vite config temporary files to the ESLint configuration ignore patterns if ESLint is used.", + "file": "generated/packages/vite/migrations/eslint-ignore-vite-temp-files.json", + "hidden": false, + "name": "eslint-ignore-vite-temp-files", + "version": "20.5.0-beta.3", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/eslint-ignore-vite-temp-files", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/20.5.0-package-updates": { + "description": "", + "file": "generated/packages/vite/migrations/20.5.0-package-updates.json", + "hidden": false, + "name": "20.5.0-package-updates", + "version": "20.5.0-beta.3", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/20.5.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-20-5-0-install-jiti": { + "description": "Install jiti as a devDependency to allow vite to parse TS postcss files.", + "file": "generated/packages/vite/migrations/update-20-5-0-install-jiti.json", + "hidden": false, + "name": "update-20-5-0-install-jiti", + "version": "20.5.0-beta.2", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-20-5-0-install-jiti", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-20-3-0": { + "description": "Add gitignore entry for temporary vitest config files.", + "file": "generated/packages/vite/migrations/update-20-3-0.json", + "hidden": false, + "name": "update-20-3-0", + "version": "20.3.0-beta.2", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-20-3-0", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-20-0-6": { + "description": "Add gitignore entry for temporary vite config files and remove previous incorrect glob.", + "file": "generated/packages/vite/migrations/update-20-0-6.json", + "hidden": false, + "name": "update-20-0-6", + "version": "20.0.6-beta.0", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-20-0-6", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-20-0-4": { + "description": "Add gitignore entry for temporary vite config files.", + "file": "generated/packages/vite/migrations/update-20-0-4.json", + "hidden": false, + "name": "update-20-0-4", + "version": "20.0.4-beta.0", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-20-0-4", + "type": "migration" + }, + "/technologies/build-tools/vite/api/migrations/update-19-6-0-add-depends-on-for-preview-server": { + "description": "Add dependsOn: [build] to preview targets using preview-server", + "file": "generated/packages/vite/migrations/update-19-6-0-add-depends-on-for-preview-server.json", + "hidden": false, + "name": "update-19-6-0-add-depends-on-for-preview-server", + "version": "19.6.0-beta.0", + "originalFilePath": "/packages/vite", + "path": "/technologies/build-tools/vite/api/migrations/update-19-6-0-add-depends-on-for-preview-server", + "type": "migration" + } + }, + "path": "/technologies/vite/vite" + }, + "vue": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "vue", + "packageName": "@nx/vue", + "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/vue", + "source": "/packages/vue/src", + "executors": {}, + "generators": { + "/technologies/vue/api/generators/init": { + "description": "Initialize the `@nx/vue` plugin.", + "file": "generated/packages/vue/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/vue/src/generators/init/schema.json", + "path": "/technologies/vue/api/generators/init", + "type": "generator" + }, + "/technologies/vue/api/generators/application": { + "description": "Create a Vue application.", + "file": "generated/packages/vue/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/vue/src/generators/application/schema.json", + "path": "/technologies/vue/api/generators/application", + "type": "generator" + }, + "/technologies/vue/api/generators/library": { + "description": "Create a Vue library.", + "file": "generated/packages/vue/generators/library.json", + "hidden": false, + "name": "library", + "originalFilePath": "/packages/vue/src/generators/library/schema.json", + "path": "/technologies/vue/api/generators/library", + "type": "generator" + }, + "/technologies/vue/api/generators/component": { + "description": "Create a Vue component.", + "file": "generated/packages/vue/generators/component.json", + "hidden": false, + "name": "component", + "originalFilePath": "/packages/vue/src/generators/component/schema.json", + "path": "/technologies/vue/api/generators/component", + "type": "generator" + }, + "/technologies/vue/api/generators/setup-tailwind": { + "description": "Set up Tailwind configuration for a project.", + "file": "generated/packages/vue/generators/setup-tailwind.json", + "hidden": false, + "name": "setup-tailwind", + "originalFilePath": "/packages/vue/src/generators/setup-tailwind/schema.json", + "path": "/technologies/vue/api/generators/setup-tailwind", + "type": "generator" + }, + "/technologies/vue/api/generators/storybook-configuration": { + "description": "Set up storybook for a Vue app or library.", + "file": "generated/packages/vue/generators/storybook-configuration.json", + "hidden": false, + "name": "storybook-configuration", + "originalFilePath": "/packages/vue/src/generators/storybook-configuration/schema.json", + "path": "/technologies/vue/api/generators/storybook-configuration", + "type": "generator" + }, + "/technologies/vue/api/generators/stories": { + "description": "Create stories for all components declared in an app or library.", + "file": "generated/packages/vue/generators/stories.json", + "hidden": false, + "name": "stories", + "originalFilePath": "/packages/vue/src/generators/stories/schema.json", + "path": "/technologies/vue/api/generators/stories", + "type": "generator" + } + }, + "migrations": { + "/technologies/vue/api/migrations/20.7.1-package-updates": { + "description": "", + "file": "generated/packages/vue/migrations/20.7.1-package-updates.json", + "hidden": false, + "name": "20.7.1-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/vue", + "path": "/technologies/vue/api/migrations/20.7.1-package-updates", + "type": "migration" + }, + "/technologies/vue/api/migrations/19.4.3-package-updates": { + "description": "", + "file": "generated/packages/vue/migrations/19.4.3-package-updates.json", + "hidden": false, + "name": "19.4.3-package-updates", + "version": "19.4.3-beta.0", + "originalFilePath": "/packages/vue", + "path": "/technologies/vue/api/migrations/19.4.3-package-updates", + "type": "migration" + } + }, + "path": "/technologies/vue/vue" + }, + "web": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "web", + "packageName": "@nx/web", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "documents": {}, + "root": "/packages/web", + "source": "/packages/web/src", + "executors": { + "/reference/core-api/web/executors/file-server": { + "description": "Serve a web application from a folder.", + "file": "generated/packages/web/executors/file-server.json", + "hidden": false, + "name": "file-server", + "originalFilePath": "/packages/web/src/executors/file-server/schema.json", + "path": "/reference/core-api/web/executors/file-server", + "type": "executor" + } + }, + "generators": { + "/reference/core-api/web/generators/init": { + "description": "Add `@nrwl/web` to a project.", + "file": "generated/packages/web/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/web/src/generators/init/schema.json", + "path": "/reference/core-api/web/generators/init", + "type": "generator" + }, + "/reference/core-api/web/generators/application": { + "description": "Create an web application.", + "file": "generated/packages/web/generators/application.json", + "hidden": false, + "name": "application", + "originalFilePath": "/packages/web/src/generators/application/schema.json", + "path": "/reference/core-api/web/generators/application", + "type": "generator" + }, + "/reference/core-api/web/generators/static-config": { + "description": "Add a new static-serve target to a project.", + "file": "generated/packages/web/generators/static-config.json", + "hidden": false, + "name": "static-config", + "originalFilePath": "/packages/web/src/generators/static-serve/schema.json", + "path": "/reference/core-api/web/generators/static-config", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/web/web" + }, + "webpack": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "webpack", + "packageName": "@nx/webpack", + "description": "The Nx Plugin for Webpack contains executors and generators that support building applications using Webpack.", + "documents": {}, + "root": "/packages/webpack", + "source": "/packages/webpack/src", + "executors": { + "/technologies/build-tools/webpack/api/executors/webpack": { + "description": "Run webpack build.", + "file": "generated/packages/webpack/executors/webpack.json", + "hidden": false, + "name": "webpack", + "originalFilePath": "/packages/webpack/src/executors/webpack/schema.json", + "path": "/technologies/build-tools/webpack/api/executors/webpack", + "type": "executor" + }, + "/technologies/build-tools/webpack/api/executors/dev-server": { + "description": "Serve a web application.", + "file": "generated/packages/webpack/executors/dev-server.json", + "hidden": false, + "name": "dev-server", + "originalFilePath": "/packages/webpack/src/executors/dev-server/schema.json", + "path": "/technologies/build-tools/webpack/api/executors/dev-server", + "type": "executor" + }, + "/technologies/build-tools/webpack/api/executors/ssr-dev-server": { + "description": "Serve a SSR application.", + "file": "generated/packages/webpack/executors/ssr-dev-server.json", + "hidden": false, + "name": "ssr-dev-server", + "originalFilePath": "/packages/webpack/src/executors/ssr-dev-server/schema.json", + "path": "/technologies/build-tools/webpack/api/executors/ssr-dev-server", + "type": "executor" + } + }, + "generators": { + "/technologies/build-tools/webpack/api/generators/init": { + "description": "Initialize the `@nx/webpack` plugin.", + "file": "generated/packages/webpack/generators/init.json", + "hidden": true, + "name": "init", + "originalFilePath": "/packages/webpack/src/generators/init/schema.json", + "path": "/technologies/build-tools/webpack/api/generators/init", + "type": "generator" + }, + "/technologies/build-tools/webpack/api/generators/configuration": { + "description": "Add webpack configuration to a project.", + "file": "generated/packages/webpack/generators/configuration.json", + "hidden": true, + "name": "configuration", + "originalFilePath": "/packages/webpack/src/generators/configuration/schema.json", + "path": "/technologies/build-tools/webpack/api/generators/configuration", + "type": "generator" + }, + "/technologies/build-tools/webpack/api/generators/convert-config-to-webpack-plugin": { + "description": "Convert the project to use the `NxAppWebpackPlugin` and `NxReactWebpackPlugin`.", + "file": "generated/packages/webpack/generators/convert-config-to-webpack-plugin.json", + "hidden": false, + "name": "convert-config-to-webpack-plugin", + "originalFilePath": "/packages/webpack/src/generators/convert-config-to-webpack-plugin/schema.json", + "path": "/technologies/build-tools/webpack/api/generators/convert-config-to-webpack-plugin", + "type": "generator" + }, + "/technologies/build-tools/webpack/api/generators/convert-to-inferred": { + "description": "Convert existing Webpack project(s) using `@nx/webpack:wepack` executor to use `@nx/webpack/plugin`.", + "file": "generated/packages/webpack/generators/convert-to-inferred.json", + "hidden": false, + "name": "convert-to-inferred", + "originalFilePath": "/packages/webpack/src/generators/convert-to-inferred/schema.json", + "path": "/technologies/build-tools/webpack/api/generators/convert-to-inferred", + "type": "generator" + } + }, + "migrations": { + "/technologies/build-tools/webpack/api/migrations/update-21-0-0-remove-isolated-config": { + "description": "Remove isolatedConfig option for @nx/webpack:webpack", + "file": "generated/packages/webpack/migrations/update-21-0-0-remove-isolated-config.json", + "hidden": false, + "name": "update-21-0-0-remove-isolated-config", + "version": "21.0.0-beta.11", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/update-21-0-0-remove-isolated-config", + "type": "migration" + }, + "/technologies/build-tools/webpack/api/migrations/20.7.1-package-updates": { + "description": "", + "file": "generated/packages/webpack/migrations/20.7.1-package-updates.json", + "hidden": false, + "name": "20.7.1-package-updates", + "version": "20.7.1-beta.0", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/20.7.1-package-updates", + "type": "migration" + }, + "/technologies/build-tools/webpack/api/migrations/20.5.0-package-updates": { + "description": "", + "file": "generated/packages/webpack/migrations/20.5.0-package-updates.json", + "hidden": false, + "name": "20.5.0-package-updates", + "version": "20.5.0-beta.3", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/20.5.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/webpack/api/migrations/19.7.0-package-updates": { + "description": "", + "file": "generated/packages/webpack/migrations/19.7.0-package-updates.json", + "hidden": false, + "name": "19.7.0-package-updates", + "version": "19.7.0-beta.4", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/19.7.0-package-updates", + "type": "migration" + }, + "/technologies/build-tools/webpack/api/migrations/update-19-6-3-proxy-config": { + "description": "Migrate proxy config files to match new format from webpack-dev-server v5.", + "file": "generated/packages/webpack/migrations/update-19-6-3-proxy-config.json", + "hidden": false, + "name": "update-19-6-3-proxy-config", + "version": "19.6.3-beta.0", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/update-19-6-3-proxy-config", + "type": "migration" + }, + "/technologies/build-tools/webpack/api/migrations/19.6.0-package-updates": { + "description": "", + "file": "generated/packages/webpack/migrations/19.6.0-package-updates.json", + "hidden": false, + "name": "19.6.0-package-updates", + "version": "19.6.0-beta.1", + "originalFilePath": "/packages/webpack", + "path": "/technologies/build-tools/webpack/api/migrations/19.6.0-package-updates", + "type": "migration" + } + }, + "path": "/technologies/webpack/webpack" + }, + "workspace": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "workspace", + "packageName": "@nx/workspace", + "description": "The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.", + "documents": { + "/reference/core-api/workspace/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.", + "file": "generated/packages/workspace/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/workspace/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/workspace/workspace-plugin" + }, + "/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix": { + "id": "nx-nodejs-typescript-version-matrix", + "name": "Nx, NodeJS and Typescript Versions", + "description": "The Workspace plugin contains executors and generators that are useful for any Nx workspace. It should be present in every Nx workspace and other plugins build on it.", + "file": "generated/packages/workspace/documents/nx-nodejs-typescript-version-matrix", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix", + "tags": [], + "originalFilePath": "shared/packages/workspace/nx-compatibility-matrix" + } + }, + "root": "/packages/workspace", + "source": "/packages/workspace/src", + "executors": { + "/reference/core-api/workspace/executors/counter": { + "description": "A dummy executor useful for E2E tests.", + "file": "generated/packages/workspace/executors/counter.json", + "hidden": true, + "name": "counter", + "originalFilePath": "/packages/workspace/src/executors/counter/schema.json", + "path": "/reference/core-api/workspace/executors/counter", + "type": "executor" + } + }, + "generators": { + "/reference/core-api/workspace/generators/preset": { + "description": "Create application in an empty workspace.", + "file": "generated/packages/workspace/generators/preset.json", + "hidden": true, + "name": "preset", + "originalFilePath": "/packages/workspace/src/generators/preset/schema.json", + "path": "/reference/core-api/workspace/generators/preset", + "type": "generator" + }, + "/reference/core-api/workspace/generators/move": { + "description": "Move an application or library to another folder.", + "file": "generated/packages/workspace/generators/move.json", + "hidden": false, + "name": "move", + "originalFilePath": "/packages/workspace/src/generators/move/schema.json", + "path": "/reference/core-api/workspace/generators/move", + "type": "generator" + }, + "/reference/core-api/workspace/generators/remove": { + "description": "Remove an application or library.", + "file": "generated/packages/workspace/generators/remove.json", + "hidden": false, + "name": "remove", + "originalFilePath": "/packages/workspace/src/generators/remove/schema.json", + "path": "/reference/core-api/workspace/generators/remove", + "type": "generator" + }, + "/reference/core-api/workspace/generators/convert-to-monorepo": { + "description": "Convert a Nx project to a monorepo.", + "file": "generated/packages/workspace/generators/convert-to-monorepo.json", + "hidden": false, + "name": "convert-to-monorepo", + "originalFilePath": "/packages/workspace/src/generators/convert-to-monorepo/schema.json", + "path": "/reference/core-api/workspace/generators/convert-to-monorepo", + "type": "generator" + }, + "/reference/core-api/workspace/generators/new": { + "description": "Create a workspace.", + "file": "generated/packages/workspace/generators/new.json", + "hidden": true, + "name": "new", + "originalFilePath": "/packages/workspace/src/generators/new/schema.json", + "path": "/reference/core-api/workspace/generators/new", + "type": "generator" + }, + "/reference/core-api/workspace/generators/run-commands": { + "description": "Generates a target to run any command in the terminal.", + "file": "generated/packages/workspace/generators/run-commands.json", + "hidden": false, + "name": "run-commands", + "originalFilePath": "/packages/workspace/src/generators/run-commands/schema.json", + "path": "/reference/core-api/workspace/generators/run-commands", + "type": "generator" + }, + "/reference/core-api/workspace/generators/fix-configuration": { + "description": "Fixes projects configuration", + "file": "generated/packages/workspace/generators/fix-configuration.json", + "hidden": false, + "name": "fix-configuration", + "originalFilePath": "/packages/workspace/src/generators/convert-to-nx-project/schema.json", + "path": "/reference/core-api/workspace/generators/fix-configuration", + "type": "generator" + }, + "/reference/core-api/workspace/generators/npm-package": { + "description": "Create a minimal NPM package.", + "file": "generated/packages/workspace/generators/npm-package.json", + "hidden": false, + "name": "npm-package", + "originalFilePath": "/packages/workspace/src/generators/npm-package/schema.json", + "path": "/reference/core-api/workspace/generators/npm-package", + "type": "generator" + }, + "/reference/core-api/workspace/generators/ci-workflow": { + "description": "Generate a CI workflow.", + "file": "generated/packages/workspace/generators/ci-workflow.json", + "hidden": false, + "name": "ci-workflow", + "originalFilePath": "/packages/workspace/src/generators/ci-workflow/schema.json", + "path": "/reference/core-api/workspace/generators/ci-workflow", + "type": "generator" + }, + "/reference/core-api/workspace/generators/infer-targets": { + "description": "Convert Nx projects to use inferred targets.", + "file": "generated/packages/workspace/generators/infer-targets.json", + "hidden": false, + "name": "infer-targets", + "originalFilePath": "/packages/workspace/src/generators/infer-targets/schema.json", + "path": "/reference/core-api/workspace/generators/infer-targets", + "type": "generator" + } + }, + "migrations": { + "/reference/core-api/workspace/migrations/21.2.0-package-updates": { + "description": "", + "file": "generated/packages/workspace/migrations/21.2.0-package-updates.json", + "hidden": false, + "name": "21.2.0-package-updates", + "version": "21.2.0-beta.0", + "originalFilePath": "/packages/workspace", + "path": "/reference/core-api/workspace/migrations/21.2.0-package-updates", + "type": "migration" + }, + "/reference/core-api/workspace/migrations/20.4.0-package-updates": { + "description": "", + "file": "generated/packages/workspace/migrations/20.4.0-package-updates.json", + "hidden": false, + "name": "20.4.0-package-updates", + "version": "20.4.0-beta.1", + "originalFilePath": "/packages/workspace", + "path": "/reference/core-api/workspace/migrations/20.4.0-package-updates", + "type": "migration" + }, + "/reference/core-api/workspace/migrations/20.2.0-package-updates": { + "description": "", + "file": "generated/packages/workspace/migrations/20.2.0-package-updates.json", + "hidden": false, + "name": "20.2.0-package-updates", + "version": "20.2.0-beta.5", + "originalFilePath": "/packages/workspace", + "path": "/reference/core-api/workspace/migrations/20.2.0-package-updates", + "type": "migration" + }, + "/reference/core-api/workspace/migrations/19.5.1-package-updates": { + "description": "", + "file": "generated/packages/workspace/migrations/19.5.1-package-updates.json", + "hidden": false, + "name": "19.5.1-package-updates", + "version": "19.5.0-beta.1", + "originalFilePath": "/packages/workspace", + "path": "/reference/core-api/workspace/migrations/19.5.1-package-updates", + "type": "migration" + } + }, + "path": "/technologies/workspace/workspace" + }, + "azure-cache": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "azure-cache", + "packageName": "@nx/azure-cache", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Azure Blob Storage.", + "documents": { + "/reference/core-api/azure-cache/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Azure Blob Storage.", + "file": "external-generated/packages/azure-cache/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/azure-cache/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/azure-cache/azure-cache-plugin" + } + }, + "root": "/libs/nx-packages/azure-cache", + "source": "/libs/nx-packages/azure-cache/src", + "executors": {}, + "generators": {}, + "migrations": {}, + "path": "/technologies/azure-cache/azure-cache" + }, + "conformance": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "conformance", + "packageName": "@nx/conformance", + "description": "A Nx plugin which allows users to write and apply rules for your entire workspace that help with consistency, maintainability, reliability and security.", + "documents": { + "/reference/core-api/conformance/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin which allows users to write and apply rules for your entire workspace that help with consistency, maintainability, reliability and security.", + "file": "external-generated/packages/conformance/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/conformance/conformance-plugin" + }, + "/reference/core-api/conformance/documents/create-conformance-rule": { + "id": "create-conformance-rule", + "name": "Create a Conformance Rule", + "description": "A Nx plugin which allows users to write and apply rules for your entire workspace that help with consistency, maintainability, reliability and security.", + "file": "external-generated/packages/conformance/documents/create-conformance-rule", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/documents/create-conformance-rule", + "tags": [], + "originalFilePath": "shared/packages/conformance/create-conformance-rule" + } + }, + "root": "/libs/nx-packages/conformance", + "source": "/libs/nx-packages/conformance/src", + "executors": { + "/reference/core-api/conformance/executors/bundle-rules": { + "description": "Compile and bundle one or more Nx Conformance Rules", + "file": "external-generated/packages/conformance/executors/bundle-rules.json", + "hidden": false, + "name": "bundle-rules", + "originalFilePath": "/libs/nx-packages/conformance/src/executors/bundle-rules/schema.json", + "path": "/reference/core-api/conformance/executors/bundle-rules", + "type": "executor" + } + }, + "generators": { + "/reference/core-api/conformance/generators/create-rule": { + "description": "Create a new conformance rule", + "file": "external-generated/packages/conformance/generators/create-rule.json", + "hidden": false, + "name": "create-rule", + "originalFilePath": "/libs/nx-packages/conformance/src/generators/create-rule/schema.json", + "path": "/reference/core-api/conformance/generators/create-rule", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/conformance/conformance" + }, + "owners": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "owners", + "packageName": "@nx/owners", + "description": "A Nx plugin which provides the ability to configure and maintain codeowners for projects in Nx workspaces.", + "documents": { + "/reference/core-api/owners/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin which provides the ability to configure and maintain codeowners for projects in Nx workspaces.", + "file": "external-generated/packages/owners/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/owners/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/owners/owners-plugin" + } + }, + "root": "/libs/nx-packages/owners", + "source": "/libs/nx-packages/owners/src", + "executors": {}, + "generators": { + "/reference/core-api/owners/generators/init": { + "description": "Initialize Nx Powerpack Owners config", + "file": "external-generated/packages/owners/generators/init.json", + "hidden": false, + "name": "init", + "originalFilePath": "/libs/nx-packages/owners/src/generators/init/schema.json", + "path": "/reference/core-api/owners/generators/init", + "type": "generator" + }, + "/reference/core-api/owners/generators/sync-codeowners-file": { + "description": "Sync Nx Powerpack Owners config to a CODEOWNERS file", + "file": "external-generated/packages/owners/generators/sync-codeowners-file.json", + "hidden": false, + "name": "sync-codeowners-file", + "originalFilePath": "/libs/nx-packages/owners/src/generators/sync-codeowners-file/schema.json", + "path": "/reference/core-api/owners/generators/sync-codeowners-file", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/owners/owners" + }, + "gcs-cache": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "gcs-cache", + "packageName": "@nx/gcs-cache", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Google Cloud Storage.", + "documents": { + "/reference/core-api/gcs-cache/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Google Cloud Storage.", + "file": "external-generated/packages/gcs-cache/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/gcs-cache/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/gcs-cache/gcs-cache-plugin" + } + }, + "root": "/libs/nx-packages/gcs-cache", + "source": "/libs/nx-packages/gcs-cache/src", + "executors": {}, + "generators": {}, + "migrations": {}, + "path": "/technologies/gcs-cache/gcs-cache" + }, + "s3-cache": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "s3-cache", + "packageName": "@nx/s3-cache", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Amazon S3.", + "documents": { + "/reference/core-api/s3-cache/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin which provides a Nx cache which can be self hosted on Amazon S3.", + "file": "external-generated/packages/s3-cache/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/s3-cache/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/s3-cache/s3-cache-plugin" + } + }, + "root": "/libs/nx-packages/s3-cache", + "source": "/libs/nx-packages/s3-cache/src", + "executors": {}, + "generators": {}, + "migrations": {}, + "path": "/technologies/s3-cache/s3-cache" + }, + "shared-fs-cache": { + "githubRoot": "https://github.com/nrwl/nx/blob/master", + "name": "shared-fs-cache", + "packageName": "@nx/shared-fs-cache", + "description": "A Nx plugin to enable you to use a shared file system directory", + "documents": { + "/reference/core-api/shared-fs-cache/documents/overview": { + "id": "overview", + "name": "Overview", + "description": "A Nx plugin to enable you to use a shared file system directory", + "file": "external-generated/packages/shared-fs-cache/documents/overview", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache/documents/overview", + "tags": [], + "originalFilePath": "shared/packages/shared-fs-cache/shared-fs-cache-plugin" + } + }, + "root": "/libs/nx-packages/shared-fs-cache", + "source": "/libs/nx-packages/shared-fs-cache/src", + "executors": {}, + "generators": { + "/reference/core-api/shared-fs-cache/generators/init": { + "description": "Add the shared fs cache", + "file": "external-generated/packages/shared-fs-cache/generators/init.json", + "hidden": false, + "name": "init", + "originalFilePath": "/libs/nx-packages/shared-fs-cache/src/generators/init/schema.json", + "path": "/reference/core-api/shared-fs-cache/generators/init", + "type": "generator" + } + }, + "migrations": {}, + "path": "/technologies/shared-fs-cache/shared-fs-cache" + } +} diff --git a/docs/generated/manifests/nx.json b/docs/generated/manifests/nx.json index 993ba62429..25af4aa087 100644 --- a/docs/generated/manifests/nx.json +++ b/docs/generated/manifests/nx.json @@ -41,8 +41,8 @@ }, { "id": "editor-setup", - "name": "Editor Setup", - "description": "Learn about Nx Console, an extension for VS Code and WebStorm.", + "name": "Editor Integration", + "description": "Learn about Nx Console, an extension for VS Code and WebStorm. (formerly Editor Setup)", "mediaImage": "", "file": "shared/getting-started/editor-setup", "itemList": [], @@ -146,8 +146,8 @@ }, "/getting-started/editor-setup": { "id": "editor-setup", - "name": "Editor Setup", - "description": "Learn about Nx Console, an extension for VS Code and WebStorm.", + "name": "Editor Integration", + "description": "Learn about Nx Console, an extension for VS Code and WebStorm. (formerly Editor Setup)", "mediaImage": "", "file": "shared/getting-started/editor-setup", "itemList": [], @@ -687,734 +687,9 @@ "path": "/ci/features/flaky-tasks", "tags": [] }, - "/concepts": { - "id": "concepts", - "name": "Concepts", - "description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "mental-model", - "name": "Mental Model", - "description": "", - "mediaImage": "", - "file": "shared/concepts/mental-model", - "itemList": [], - "isExternal": false, - "path": "/concepts/mental-model", - "tags": ["intro", "inferred-tasks"] - }, - { - "id": "how-caching-works", - "name": "How Caching Works", - "description": "", - "mediaImage": "", - "file": "shared/concepts/how-caching-works", - "itemList": [], - "isExternal": false, - "path": "/concepts/how-caching-works", - "tags": ["cache-task-results"] - }, - { - "id": "task-pipeline-configuration", - "name": "What is a Task Pipeline", - "description": "", - "mediaImage": "", - "file": "shared/concepts/task-pipeline-configuration", - "itemList": [], - "isExternal": false, - "path": "/concepts/task-pipeline-configuration", - "tags": ["run-tasks"] - }, - { - "id": "nx-plugins", - "name": "What Are Nx Plugins", - "description": "", - "mediaImage": "", - "file": "shared/concepts/nx-plugins", - "itemList": [], - "isExternal": false, - "path": "/concepts/nx-plugins", - "tags": [ - "add", - "generate-code", - "create-your-own-plugin", - "inferred-tasks" - ] - }, - { - "id": "inferred-tasks", - "name": "Inferred Tasks", - "description": "", - "mediaImage": "", - "file": "shared/concepts/inferred-tasks", - "itemList": [], - "isExternal": false, - "path": "/concepts/inferred-tasks", - "tags": ["inferred-tasks"] - }, - { - "id": "types-of-configuration", - "name": "Types of Configuration", - "description": "", - "mediaImage": "", - "file": "shared/concepts/types-of-configuration", - "itemList": [], - "isExternal": false, - "path": "/concepts/types-of-configuration", - "tags": [] - }, - { - "id": "executors-and-configurations", - "name": "Executors and Configurations", - "description": "", - "mediaImage": "", - "file": "shared/concepts/executors-and-configurations", - "itemList": [], - "isExternal": false, - "path": "/concepts/executors-and-configurations", - "tags": ["run-tasks"] - }, - { - "id": "common-tasks", - "name": "Common Tasks", - "description": "", - "mediaImage": "", - "file": "shared/concepts/common-tasks", - "itemList": [], - "isExternal": false, - "path": "/concepts/common-tasks", - "tags": ["run-tasks"] - }, - { - "id": "nx-daemon", - "name": "Nx Daemon", - "description": "", - "mediaImage": "", - "file": "shared/concepts/daemon", - "itemList": [], - "isExternal": false, - "path": "/concepts/nx-daemon", - "tags": ["daemon"] - }, - { - "id": "sync-generators", - "name": "Sync Generators", - "description": "", - "mediaImage": "", - "file": "shared/concepts/sync-generators", - "itemList": [], - "isExternal": false, - "path": "/concepts/sync-generators", - "tags": ["sync"] - }, - { - "id": "typescript-project-linking", - "name": "TypeScript Project Linking", - "description": "", - "mediaImage": "", - "file": "shared/concepts/typescript-project-linking", - "itemList": [], - "isExternal": false, - "path": "/concepts/typescript-project-linking", - "tags": ["project-linking"] - }, - { - "id": "buildable-and-publishable-libraries", - "name": "Buildable and Publishable Libraries", - "description": "", - "mediaImage": "", - "file": "shared/concepts/buildable-and-publishable-libraries", - "itemList": [], - "isExternal": false, - "path": "/concepts/buildable-and-publishable-libraries", - "tags": [] - }, - { - "id": "module-federation", - "name": "Module Federation", - "description": "Understand more about Module Federation with NX", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "module-federation-and-nx", - "name": "Module Federation and Nx", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/module-federation-and-nx", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/module-federation-and-nx", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "nx-module-federation-technical-overview", - "name": "Nx Module Federation Technical Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/faster-builds-with-module-federation", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/micro-frontend-architecture", - "tags": [] - }, - { - "id": "manage-library-versions-with-module-federation", - "name": "Manage Library Versions with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "tags": [] - } - ], - "isExternal": false, - "path": "/concepts/module-federation", - "tags": [] - }, - { - "id": "decisions", - "name": "Organizational Decisions", - "description": "Topics that need to be considered when structuring your repository", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "overview", - "name": "Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepo-polyrepo", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/overview", - "tags": [] - }, - { - "id": "why-monorepos", - "name": "Monorepos", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepos", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/why-monorepos", - "tags": [] - }, - { - "id": "dependency-management", - "name": "Dependency Management", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/dependency-management", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/dependency-management", - "tags": [] - }, - { - "id": "code-ownership", - "name": "Code Ownership", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/code-ownership", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/code-ownership", - "tags": [] - }, - { - "id": "project-size", - "name": "Project Size", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-size", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-size", - "tags": ["enforce-module-boundaries"] - }, - { - "id": "project-dependency-rules", - "name": "Project Dependency Rules", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-dependency-rules", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-dependency-rules", - "tags": ["enforce-module-boundaries"] - }, - { - "id": "folder-structure", - "name": "Folder Structure", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/folder-structure", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/folder-structure", - "tags": ["enforce-module-boundaries"] - } - ], - "isExternal": false, - "path": "/concepts/decisions", - "tags": [] - } - ], - "isExternal": false, - "path": "/concepts", - "tags": [] - }, - "/concepts/mental-model": { - "id": "mental-model", - "name": "Mental Model", - "description": "", - "mediaImage": "", - "file": "shared/concepts/mental-model", - "itemList": [], - "isExternal": false, - "path": "/concepts/mental-model", - "tags": ["intro", "inferred-tasks"] - }, - "/concepts/how-caching-works": { - "id": "how-caching-works", - "name": "How Caching Works", - "description": "", - "mediaImage": "", - "file": "shared/concepts/how-caching-works", - "itemList": [], - "isExternal": false, - "path": "/concepts/how-caching-works", - "tags": ["cache-task-results"] - }, - "/concepts/task-pipeline-configuration": { - "id": "task-pipeline-configuration", - "name": "What is a Task Pipeline", - "description": "", - "mediaImage": "", - "file": "shared/concepts/task-pipeline-configuration", - "itemList": [], - "isExternal": false, - "path": "/concepts/task-pipeline-configuration", - "tags": ["run-tasks"] - }, - "/concepts/nx-plugins": { - "id": "nx-plugins", - "name": "What Are Nx Plugins", - "description": "", - "mediaImage": "", - "file": "shared/concepts/nx-plugins", - "itemList": [], - "isExternal": false, - "path": "/concepts/nx-plugins", - "tags": ["add", "generate-code", "create-your-own-plugin", "inferred-tasks"] - }, - "/concepts/inferred-tasks": { - "id": "inferred-tasks", - "name": "Inferred Tasks", - "description": "", - "mediaImage": "", - "file": "shared/concepts/inferred-tasks", - "itemList": [], - "isExternal": false, - "path": "/concepts/inferred-tasks", - "tags": ["inferred-tasks"] - }, - "/concepts/types-of-configuration": { - "id": "types-of-configuration", - "name": "Types of Configuration", - "description": "", - "mediaImage": "", - "file": "shared/concepts/types-of-configuration", - "itemList": [], - "isExternal": false, - "path": "/concepts/types-of-configuration", - "tags": [] - }, - "/concepts/executors-and-configurations": { - "id": "executors-and-configurations", - "name": "Executors and Configurations", - "description": "", - "mediaImage": "", - "file": "shared/concepts/executors-and-configurations", - "itemList": [], - "isExternal": false, - "path": "/concepts/executors-and-configurations", - "tags": ["run-tasks"] - }, - "/concepts/common-tasks": { - "id": "common-tasks", - "name": "Common Tasks", - "description": "", - "mediaImage": "", - "file": "shared/concepts/common-tasks", - "itemList": [], - "isExternal": false, - "path": "/concepts/common-tasks", - "tags": ["run-tasks"] - }, - "/concepts/nx-daemon": { - "id": "nx-daemon", - "name": "Nx Daemon", - "description": "", - "mediaImage": "", - "file": "shared/concepts/daemon", - "itemList": [], - "isExternal": false, - "path": "/concepts/nx-daemon", - "tags": ["daemon"] - }, - "/concepts/sync-generators": { - "id": "sync-generators", - "name": "Sync Generators", - "description": "", - "mediaImage": "", - "file": "shared/concepts/sync-generators", - "itemList": [], - "isExternal": false, - "path": "/concepts/sync-generators", - "tags": ["sync"] - }, - "/concepts/typescript-project-linking": { - "id": "typescript-project-linking", - "name": "TypeScript Project Linking", - "description": "", - "mediaImage": "", - "file": "shared/concepts/typescript-project-linking", - "itemList": [], - "isExternal": false, - "path": "/concepts/typescript-project-linking", - "tags": ["project-linking"] - }, - "/concepts/buildable-and-publishable-libraries": { - "id": "buildable-and-publishable-libraries", - "name": "Buildable and Publishable Libraries", - "description": "", - "mediaImage": "", - "file": "shared/concepts/buildable-and-publishable-libraries", - "itemList": [], - "isExternal": false, - "path": "/concepts/buildable-and-publishable-libraries", - "tags": [] - }, - "/concepts/module-federation": { - "id": "module-federation", - "name": "Module Federation", - "description": "Understand more about Module Federation with NX", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "module-federation-and-nx", - "name": "Module Federation and Nx", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/module-federation-and-nx", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/module-federation-and-nx", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "nx-module-federation-technical-overview", - "name": "Nx Module Federation Technical Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/faster-builds-with-module-federation", - "tags": ["module-federation", "angular", "react"] - }, - { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/micro-frontend-architecture", - "tags": [] - }, - { - "id": "manage-library-versions-with-module-federation", - "name": "Manage Library Versions with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "tags": [] - } - ], - "isExternal": false, - "path": "/concepts/module-federation", - "tags": [] - }, - "/concepts/module-federation/module-federation-and-nx": { - "id": "module-federation-and-nx", - "name": "Module Federation and Nx", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/module-federation-and-nx", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/module-federation-and-nx", - "tags": ["module-federation", "angular", "react"] - }, - "/concepts/module-federation/nx-module-federation-technical-overview": { - "id": "nx-module-federation-technical-overview", - "name": "Nx Module Federation Technical Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/nx-module-federation-technical-overview", - "tags": ["module-federation", "angular", "react"] - }, - "/concepts/module-federation/faster-builds-with-module-federation": { - "id": "faster-builds-with-module-federation", - "name": "Faster Builds with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/faster-builds", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/faster-builds-with-module-federation", - "tags": ["module-federation", "angular", "react"] - }, - "/concepts/module-federation/micro-frontend-architecture": { - "id": "micro-frontend-architecture", - "name": "Micro Frontend Architecture", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/micro-frontend-architecture", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/micro-frontend-architecture", - "tags": [] - }, - "/concepts/module-federation/manage-library-versions-with-module-federation": { - "id": "manage-library-versions-with-module-federation", - "name": "Manage Library Versions with Module Federation", - "description": "", - "mediaImage": "", - "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", - "itemList": [], - "isExternal": false, - "path": "/concepts/module-federation/manage-library-versions-with-module-federation", - "tags": [] - }, - "/concepts/decisions": { - "id": "decisions", - "name": "Organizational Decisions", - "description": "Topics that need to be considered when structuring your repository", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "overview", - "name": "Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepo-polyrepo", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/overview", - "tags": [] - }, - { - "id": "why-monorepos", - "name": "Monorepos", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepos", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/why-monorepos", - "tags": [] - }, - { - "id": "dependency-management", - "name": "Dependency Management", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/dependency-management", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/dependency-management", - "tags": [] - }, - { - "id": "code-ownership", - "name": "Code Ownership", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/code-ownership", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/code-ownership", - "tags": [] - }, - { - "id": "project-size", - "name": "Project Size", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-size", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-size", - "tags": ["enforce-module-boundaries"] - }, - { - "id": "project-dependency-rules", - "name": "Project Dependency Rules", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-dependency-rules", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-dependency-rules", - "tags": ["enforce-module-boundaries"] - }, - { - "id": "folder-structure", - "name": "Folder Structure", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/folder-structure", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/folder-structure", - "tags": ["enforce-module-boundaries"] - } - ], - "isExternal": false, - "path": "/concepts/decisions", - "tags": [] - }, - "/concepts/decisions/overview": { - "id": "overview", - "name": "Overview", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepo-polyrepo", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/overview", - "tags": [] - }, - "/concepts/decisions/why-monorepos": { - "id": "why-monorepos", - "name": "Monorepos", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/monorepos", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/why-monorepos", - "tags": [] - }, - "/concepts/decisions/dependency-management": { - "id": "dependency-management", - "name": "Dependency Management", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/dependency-management", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/dependency-management", - "tags": [] - }, - "/concepts/decisions/code-ownership": { - "id": "code-ownership", - "name": "Code Ownership", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/code-ownership", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/code-ownership", - "tags": [] - }, - "/concepts/decisions/project-size": { - "id": "project-size", - "name": "Project Size", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-size", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-size", - "tags": ["enforce-module-boundaries"] - }, - "/concepts/decisions/project-dependency-rules": { - "id": "project-dependency-rules", - "name": "Project Dependency Rules", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/project-dependency-rules", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/project-dependency-rules", - "tags": ["enforce-module-boundaries"] - }, - "/concepts/decisions/folder-structure": { - "id": "folder-structure", - "name": "Folder Structure", - "description": "", - "mediaImage": "", - "file": "shared/concepts/decisions/folder-structure", - "itemList": [], - "isExternal": false, - "path": "/concepts/decisions/folder-structure", - "tags": ["enforce-module-boundaries"] - }, "/recipes": { "id": "recipes", - "name": "Recipes", + "name": "Core Guides", "description": "In depth recipes for common tasks", "mediaImage": "", "file": "", @@ -1874,51 +1149,6 @@ "path": "/recipes/nx-release", "tags": [] }, - { - "id": "module-federation", - "name": "Module Federation", - "description": "Advanced guides to utilize Module Federation with Nx.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "create-a-host", - "name": "How to create a Module Federation Host Application", - "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-host", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-host", - "tags": [] - }, - { - "id": "create-a-remote", - "name": "How to create a Module Federation Remote Application", - "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-remote", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-remote", - "tags": [] - }, - { - "id": "federate-a-module", - "name": "How to Federate a Module", - "description": "A guide on how to federate a module in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/federate-a-module", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/federate-a-module", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/module-federation", - "tags": [] - }, { "id": "nx-console", "name": "Nx Console", @@ -2008,655 +1238,6 @@ "path": "/recipes/nx-console", "tags": [] }, - { - "id": "react", - "name": "React", - "description": "Advanced guides to adopt Nx in React.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "react-native", - "name": "React Native with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-native", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-native", - "tags": [] - }, - { - "id": "remix", - "name": "Remix with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/remix", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/remix", - "tags": [] - }, - { - "id": "react-router", - "name": "React Router with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-router", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-router", - "tags": [] - }, - { - "id": "use-environment-variables-in-react", - "name": "Use Environment Variables in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/use-environment-variables-in-react", - "tags": ["environment-variables"] - }, - { - "id": "using-tailwind-css-in-react", - "name": "Using Tailwind CSS in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/using-tailwind-css-in-react", - "tags": [] - }, - { - "id": "adding-assets-react", - "name": "Adding Images, Fonts, and Files", - "description": "", - "mediaImage": "", - "file": "shared/guides/adding-assets", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/adding-assets-react", - "tags": [] - }, - { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for React", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/module-federation-with-ssr", - "tags": ["module-federation", "react"] - }, - { - "id": "deploy-nextjs-to-vercel", - "name": "Deploying Next.js applications to Vercel", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/deploy-nextjs-to-vercel", - "tags": [] - }, - { - "id": "react-compiler", - "name": "React Compiler with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-compiler", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-compiler", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/react", - "tags": [] - }, - { - "id": "angular", - "name": "Angular", - "description": "Advanced guides to adopt Nx in Angular.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "rspack", - "name": "Angular Rspack", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "introduction", - "name": "Introduction", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/introduction", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/introduction", - "tags": ["introduction"] - }, - { - "id": "getting-started", - "name": "Getting Started", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/getting-started", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/getting-started", - "tags": ["getting-started", "angular", "rspack", "setup"] - }, - { - "id": "migrate-from-webpack", - "name": "Migrate from Angular Webpack", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/migrate-from-webpack", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/migrate-from-webpack", - "tags": ["migrate-from-webpack"] - }, - { - "id": "handling-configurations", - "name": "Handling Configurations", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/handling-configurations", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/handling-configurations", - "tags": ["handling-configurations", "configurations"] - }, - { - "id": "internationalization", - "name": "Internationalization (i18n)", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/internationalization", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/internationalization", - "tags": ["internationalization", "i18n"] - } - ], - "isExternal": false, - "path": "/recipes/angular/rspack", - "tags": [] - }, - { - "id": "migration", - "name": "Migration", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "angular", - "name": "Migrating from Angular CLI", - "description": "", - "mediaImage": "", - "file": "shared/migration/migration-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular", - "tags": ["init"] - }, - { - "id": "angular-multiple", - "name": "Migrating From Multiple Angular CLI Repos", - "description": "", - "mediaImage": "", - "file": "shared/migration/angular-multiple", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular-multiple", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/angular/migration", - "tags": [] - }, - { - "id": "use-environment-variables-in-angular", - "name": "Use Environment Variables in Angular", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/use-environment-variables-in-angular", - "tags": ["environment-variables"] - }, - { - "id": "using-tailwind-css-with-angular-projects", - "name": "Using Tailwind CSS with Angular projects", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-with-angular-projects", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "tags": [] - }, - { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for Angular", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/module-federation-with-ssr", - "tags": ["module-federation", "angular"] - }, - { - "id": "dynamic-module-federation-with-angular", - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation/dynamic-mfe-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "tags": ["module-federation", "angular"] - }, - { - "id": "setup-incremental-builds-angular", - "name": "Setup incremental builds for Angular applications", - "description": "", - "mediaImage": "", - "file": "shared/guides/setup-incremental-builds-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/setup-incremental-builds-angular", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/angular", - "tags": [] - }, - { - "id": "node", - "name": "Node", - "description": "Set of Node related recipes.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "node-server-fly-io", - "name": "Deploying a Node App to Fly.io", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-server-fly-io", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-server-fly-io", - "tags": ["deployment", "node"] - }, - { - "id": "node-serverless-functions-netlify", - "name": "Add and Deploy Netlify Edge Functions with Node", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-serverless-functions-netlify", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-serverless-functions-netlify", - "tags": ["deployment", "node"] - }, - { - "id": "node-aws-lambda", - "name": "Deploying AWS lambda in Node.js (deprecated)", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-aws-lambda", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-aws-lambda", - "tags": ["deployment", "node"] - }, - { - "id": "application-proxies", - "name": "Set Up Application Proxies", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/application-proxies", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/application-proxies", - "tags": ["node"] - }, - { - "id": "wait-for-tasks", - "name": "Wait for Tasks to Finish", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/wait-for-tasks", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/wait-for-tasks", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/node", - "tags": [] - }, - { - "id": "storybook", - "name": "Storybook", - "description": "Storybook strategies and setups.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "overview-react", - "name": "Set up Storybook for React Projects", - "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-react", - "tags": ["storybook"] - }, - { - "id": "overview-angular", - "name": "Set up Storybook for Angular Projects", - "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-angular", - "tags": ["storybook"] - }, - { - "id": "overview-vue", - "name": "Set up Storybook for Vue Projects", - "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-vue", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-vue", - "tags": ["storybook"] - }, - { - "id": "configuring-storybook", - "name": "Configuring Storybook on Nx", - "description": "This guide explains how Storybook is configured on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/configuring-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/configuring-storybook", - "tags": ["storybook"] - }, - { - "id": "one-storybook-for-all", - "name": "One main Storybook instance for all projects", - "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-for-all", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-for-all", - "tags": ["storybook"] - }, - { - "id": "one-storybook-per-scope", - "name": "One Storybook instance per scope", - "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-per-scope", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-per-scope", - "tags": ["storybook"] - }, - { - "id": "one-storybook-with-composition", - "name": "One main Storybook instance using Storybook Composition", - "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-with-composition", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-with-composition", - "tags": ["storybook"] - }, - { - "id": "custom-builder-configs", - "name": "How to configure Webpack and Vite for Storybook", - "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", - "mediaImage": "", - "file": "shared/recipes/storybook/custom-builder-configs", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/custom-builder-configs", - "tags": ["storybook"] - }, - { - "id": "storybook-interaction-tests", - "name": "Setting up Storybook Interaction Tests with Nx", - "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/interaction-tests", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-interaction-tests", - "tags": ["storybook"] - }, - { - "id": "upgrading-storybook", - "name": "Upgrading Storybook using the Storybook CLI", - "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", - "mediaImage": "", - "file": "shared/recipes/storybook/upgrading-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/upgrading-storybook", - "tags": ["storybook"] - }, - { - "id": "storybook-composition-setup", - "name": "Setting up Storybook Composition with Nx", - "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/storybook-composition-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-composition-setup", - "tags": ["storybook"] - }, - { - "id": "angular-storybook-compodoc", - "name": "Angular: Set up Compodoc for Storybook on Nx", - "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-storybook-compodoc", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-storybook-compodoc", - "tags": ["storybook"] - }, - { - "id": "angular-configuring-styles", - "name": "Angular: Configuring styles and preprocessor options", - "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-configuring-styles", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-configuring-styles", - "tags": ["storybook"] - } - ], - "isExternal": false, - "path": "/recipes/storybook", - "tags": [] - }, - { - "id": "cypress", - "name": "Cypress", - "description": "Cypress related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "cypress-component-testing", - "name": "Component Testing", - "description": "Component Testing", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-component-testing", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-component-testing", - "tags": [] - }, - { - "id": "cypress-setup-node-events", - "name": "Using setupNodeEvents with Cypress preset", - "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-setup-node-events", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-setup-node-events", - "tags": [] - }, - { - "id": "cypress-v11-migration", - "name": "Cypress v11 Migration Guide", - "description": "Cypress v11 Migration Guide", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-v11-migration", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-v11-migration", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/cypress", - "tags": [] - }, - { - "id": "next", - "name": "Next", - "description": "Next related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "next-config-setup", - "name": "How to configure Next.js plugins", - "description": "How to configure Next.js plugins", - "mediaImage": "", - "file": "shared/packages/next/next-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/next/next-config-setup", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/next", - "tags": [] - }, - { - "id": "nuxt", - "name": "Nuxt", - "description": "Nuxt related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "deploy-nuxt-to-vercel", - "name": "Deploying Nuxt applications to Vercel", - "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/nuxt", - "tags": [] - }, - { - "id": "vite", - "name": "Vite", - "description": "Vite related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "configure-vite", - "name": "Configure Vite on your Nx workspace", - "description": "Configure Vite on your Nx workspace", - "mediaImage": "", - "file": "shared/packages/vite/configure-vite", - "itemList": [], - "isExternal": false, - "path": "/recipes/vite/configure-vite", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/vite", - "tags": [] - }, - { - "id": "webpack", - "name": "Webpack", - "description": "Webpack related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "webpack-config-setup", - "name": "How to configure Webpack in your Nx workspace", - "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-config-setup", - "tags": [] - }, - { - "id": "webpack-plugins", - "name": "Webpack plugins", - "description": "Webpack plugins", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-plugins", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-plugins", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/webpack", - "tags": [] - }, { "id": "enforce-module-boundaries", "name": "Enforce Module Boundaries", @@ -2731,61 +1312,6 @@ "path": "/recipes/tips-n-tricks/standalone-to-monorepo", "tags": [] }, - { - "id": "eslint", - "name": "Configuring ESLint with Typescript", - "description": "", - "mediaImage": "", - "file": "shared/eslint", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/eslint", - "tags": [] - }, - { - "id": "switch-to-workspaces-project-references", - "name": "Switch to Workspaces and TS Project References", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "tags": ["project-linking"] - }, - { - "id": "enable-tsc-batch-mode", - "name": "Enable Typescript Batch Mode", - "description": "", - "mediaImage": "", - "file": "shared/recipes/enable-tsc-batch-mode", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "tags": [] - }, - { - "id": "define-secondary-entrypoints", - "name": "Define Secondary Entrypoints for Typescript Packages", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "tags": [] - }, - { - "id": "compile-multiple-formats", - "name": "Compile Typescript Packages to Multiple Formats", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "tags": [] - }, { "id": "keep-nx-versions-in-sync", "name": "Keep Nx Versions in Sync", @@ -2863,17 +1389,6 @@ "path": "/recipes/tips-n-tricks/analyze-source-files", "tags": ["explore-graph"] }, - { - "id": "js-and-ts", - "name": "Use JavaScript instead TypeScript", - "description": "", - "mediaImage": "", - "file": "shared/guides/js-and-ts", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/js-and-ts", - "tags": [] - }, { "id": "advanced-update", "name": "Altering Migration Process", @@ -2895,17 +1410,6 @@ "isExternal": false, "path": "/recipes/tips-n-tricks/yarn-pnp", "tags": ["yarn", "Plug and Play"] - }, - { - "id": "flat-config", - "name": "Switching to ESLint's flat config format", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/flat-config", - "tags": ["eslint", "flat config"] } ], "isExternal": false, @@ -3779,84 +2283,6 @@ "path": "/recipes/nx-release/configuration-version-prefix", "tags": ["nx-release"] }, - "/recipes/module-federation": { - "id": "module-federation", - "name": "Module Federation", - "description": "Advanced guides to utilize Module Federation with Nx.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "create-a-host", - "name": "How to create a Module Federation Host Application", - "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-host", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-host", - "tags": [] - }, - { - "id": "create-a-remote", - "name": "How to create a Module Federation Remote Application", - "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-remote", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-remote", - "tags": [] - }, - { - "id": "federate-a-module", - "name": "How to Federate a Module", - "description": "A guide on how to federate a module in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/federate-a-module", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/federate-a-module", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/module-federation", - "tags": [] - }, - "/recipes/module-federation/create-a-host": { - "id": "create-a-host", - "name": "How to create a Module Federation Host Application", - "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-host", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-host", - "tags": [] - }, - "/recipes/module-federation/create-a-remote": { - "id": "create-a-remote", - "name": "How to create a Module Federation Remote Application", - "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/creating-a-remote", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/create-a-remote", - "tags": [] - }, - "/recipes/module-federation/federate-a-module": { - "id": "federate-a-module", - "name": "How to Federate a Module", - "description": "A guide on how to federate a module in your Nx workspace", - "mediaImage": "", - "file": "shared/recipes/module-federation/federate-a-module", - "itemList": [], - "isExternal": false, - "path": "/recipes/module-federation/federate-a-module", - "tags": [] - }, "/recipes/nx-console": { "id": "nx-console", "name": "Nx Console", @@ -4023,1273 +2449,6 @@ "path": "/recipes/nx-console/console-troubleshooting", "tags": [] }, - "/recipes/react": { - "id": "react", - "name": "React", - "description": "Advanced guides to adopt Nx in React.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "react-native", - "name": "React Native with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-native", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-native", - "tags": [] - }, - { - "id": "remix", - "name": "Remix with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/remix", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/remix", - "tags": [] - }, - { - "id": "react-router", - "name": "React Router with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-router", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-router", - "tags": [] - }, - { - "id": "use-environment-variables-in-react", - "name": "Use Environment Variables in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/use-environment-variables-in-react", - "tags": ["environment-variables"] - }, - { - "id": "using-tailwind-css-in-react", - "name": "Using Tailwind CSS in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/using-tailwind-css-in-react", - "tags": [] - }, - { - "id": "adding-assets-react", - "name": "Adding Images, Fonts, and Files", - "description": "", - "mediaImage": "", - "file": "shared/guides/adding-assets", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/adding-assets-react", - "tags": [] - }, - { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for React", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/module-federation-with-ssr", - "tags": ["module-federation", "react"] - }, - { - "id": "deploy-nextjs-to-vercel", - "name": "Deploying Next.js applications to Vercel", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/deploy-nextjs-to-vercel", - "tags": [] - }, - { - "id": "react-compiler", - "name": "React Compiler with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-compiler", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-compiler", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/react", - "tags": [] - }, - "/recipes/react/react-native": { - "id": "react-native", - "name": "React Native with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-native", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-native", - "tags": [] - }, - "/recipes/react/remix": { - "id": "remix", - "name": "Remix with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/remix", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/remix", - "tags": [] - }, - "/recipes/react/react-router": { - "id": "react-router", - "name": "React Router with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-router", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-router", - "tags": [] - }, - "/recipes/react/use-environment-variables-in-react": { - "id": "use-environment-variables-in-react", - "name": "Use Environment Variables in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/use-environment-variables-in-react", - "tags": ["environment-variables"] - }, - "/recipes/react/using-tailwind-css-in-react": { - "id": "using-tailwind-css-in-react", - "name": "Using Tailwind CSS in React", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-in-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/using-tailwind-css-in-react", - "tags": [] - }, - "/recipes/react/adding-assets-react": { - "id": "adding-assets-react", - "name": "Adding Images, Fonts, and Files", - "description": "", - "mediaImage": "", - "file": "shared/guides/adding-assets", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/adding-assets-react", - "tags": [] - }, - "/recipes/react/module-federation-with-ssr": { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for React", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/module-federation-with-ssr", - "tags": ["module-federation", "react"] - }, - "/recipes/react/deploy-nextjs-to-vercel": { - "id": "deploy-nextjs-to-vercel", - "name": "Deploying Next.js applications to Vercel", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/deploy-nextjs-to-vercel", - "tags": [] - }, - "/recipes/react/react-compiler": { - "id": "react-compiler", - "name": "React Compiler with Nx", - "description": "", - "mediaImage": "", - "file": "shared/guides/react-compiler", - "itemList": [], - "isExternal": false, - "path": "/recipes/react/react-compiler", - "tags": [] - }, - "/recipes/angular": { - "id": "angular", - "name": "Angular", - "description": "Advanced guides to adopt Nx in Angular.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "rspack", - "name": "Angular Rspack", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "introduction", - "name": "Introduction", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/introduction", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/introduction", - "tags": ["introduction"] - }, - { - "id": "getting-started", - "name": "Getting Started", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/getting-started", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/getting-started", - "tags": ["getting-started", "angular", "rspack", "setup"] - }, - { - "id": "migrate-from-webpack", - "name": "Migrate from Angular Webpack", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/migrate-from-webpack", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/migrate-from-webpack", - "tags": ["migrate-from-webpack"] - }, - { - "id": "handling-configurations", - "name": "Handling Configurations", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/handling-configurations", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/handling-configurations", - "tags": ["handling-configurations", "configurations"] - }, - { - "id": "internationalization", - "name": "Internationalization (i18n)", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/internationalization", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/internationalization", - "tags": ["internationalization", "i18n"] - } - ], - "isExternal": false, - "path": "/recipes/angular/rspack", - "tags": [] - }, - { - "id": "migration", - "name": "Migration", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "angular", - "name": "Migrating from Angular CLI", - "description": "", - "mediaImage": "", - "file": "shared/migration/migration-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular", - "tags": ["init"] - }, - { - "id": "angular-multiple", - "name": "Migrating From Multiple Angular CLI Repos", - "description": "", - "mediaImage": "", - "file": "shared/migration/angular-multiple", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular-multiple", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/angular/migration", - "tags": [] - }, - { - "id": "use-environment-variables-in-angular", - "name": "Use Environment Variables in Angular", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/use-environment-variables-in-angular", - "tags": ["environment-variables"] - }, - { - "id": "using-tailwind-css-with-angular-projects", - "name": "Using Tailwind CSS with Angular projects", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-with-angular-projects", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "tags": [] - }, - { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for Angular", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/module-federation-with-ssr", - "tags": ["module-federation", "angular"] - }, - { - "id": "dynamic-module-federation-with-angular", - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation/dynamic-mfe-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "tags": ["module-federation", "angular"] - }, - { - "id": "setup-incremental-builds-angular", - "name": "Setup incremental builds for Angular applications", - "description": "", - "mediaImage": "", - "file": "shared/guides/setup-incremental-builds-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/setup-incremental-builds-angular", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/angular", - "tags": [] - }, - "/recipes/angular/rspack": { - "id": "rspack", - "name": "Angular Rspack", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "introduction", - "name": "Introduction", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/introduction", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/introduction", - "tags": ["introduction"] - }, - { - "id": "getting-started", - "name": "Getting Started", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/getting-started", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/getting-started", - "tags": ["getting-started", "angular", "rspack", "setup"] - }, - { - "id": "migrate-from-webpack", - "name": "Migrate from Angular Webpack", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/migrate-from-webpack", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/migrate-from-webpack", - "tags": ["migrate-from-webpack"] - }, - { - "id": "handling-configurations", - "name": "Handling Configurations", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/handling-configurations", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/handling-configurations", - "tags": ["handling-configurations", "configurations"] - }, - { - "id": "internationalization", - "name": "Internationalization (i18n)", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/internationalization", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/internationalization", - "tags": ["internationalization", "i18n"] - } - ], - "isExternal": false, - "path": "/recipes/angular/rspack", - "tags": [] - }, - "/recipes/angular/rspack/introduction": { - "id": "introduction", - "name": "Introduction", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/introduction", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/introduction", - "tags": ["introduction"] - }, - "/recipes/angular/rspack/getting-started": { - "id": "getting-started", - "name": "Getting Started", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/getting-started", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/getting-started", - "tags": ["getting-started", "angular", "rspack", "setup"] - }, - "/recipes/angular/rspack/migrate-from-webpack": { - "id": "migrate-from-webpack", - "name": "Migrate from Angular Webpack", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/migrate-from-webpack", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/migrate-from-webpack", - "tags": ["migrate-from-webpack"] - }, - "/recipes/angular/rspack/handling-configurations": { - "id": "handling-configurations", - "name": "Handling Configurations", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/handling-configurations", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/handling-configurations", - "tags": ["handling-configurations", "configurations"] - }, - "/recipes/angular/rspack/internationalization": { - "id": "internationalization", - "name": "Internationalization (i18n)", - "description": "", - "mediaImage": "", - "file": "shared/guides/angular-rspack/internationalization", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/rspack/internationalization", - "tags": ["internationalization", "i18n"] - }, - "/recipes/angular/migration": { - "id": "migration", - "name": "Migration", - "description": "", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "angular", - "name": "Migrating from Angular CLI", - "description": "", - "mediaImage": "", - "file": "shared/migration/migration-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular", - "tags": ["init"] - }, - { - "id": "angular-multiple", - "name": "Migrating From Multiple Angular CLI Repos", - "description": "", - "mediaImage": "", - "file": "shared/migration/angular-multiple", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular-multiple", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/angular/migration", - "tags": [] - }, - "/recipes/angular/migration/angular": { - "id": "angular", - "name": "Migrating from Angular CLI", - "description": "", - "mediaImage": "", - "file": "shared/migration/migration-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular", - "tags": ["init"] - }, - "/recipes/angular/migration/angular-multiple": { - "id": "angular-multiple", - "name": "Migrating From Multiple Angular CLI Repos", - "description": "", - "mediaImage": "", - "file": "shared/migration/angular-multiple", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/migration/angular-multiple", - "tags": [] - }, - "/recipes/angular/use-environment-variables-in-angular": { - "id": "use-environment-variables-in-angular", - "name": "Use Environment Variables in Angular", - "description": "", - "mediaImage": "", - "file": "shared/guides/use-environment-variables-in-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/use-environment-variables-in-angular", - "tags": ["environment-variables"] - }, - "/recipes/angular/using-tailwind-css-with-angular-projects": { - "id": "using-tailwind-css-with-angular-projects", - "name": "Using Tailwind CSS with Angular projects", - "description": "", - "mediaImage": "", - "file": "shared/guides/using-tailwind-css-with-angular-projects", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/using-tailwind-css-with-angular-projects", - "tags": [] - }, - "/recipes/angular/module-federation-with-ssr": { - "id": "module-federation-with-ssr", - "name": "Setup Module Federation with SSR for Angular", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation-with-ssr", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/module-federation-with-ssr", - "tags": ["module-federation", "angular"] - }, - "/recipes/angular/dynamic-module-federation-with-angular": { - "id": "dynamic-module-federation-with-angular", - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "description": "", - "mediaImage": "", - "file": "shared/recipes/module-federation/dynamic-mfe-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/dynamic-module-federation-with-angular", - "tags": ["module-federation", "angular"] - }, - "/recipes/angular/setup-incremental-builds-angular": { - "id": "setup-incremental-builds-angular", - "name": "Setup incremental builds for Angular applications", - "description": "", - "mediaImage": "", - "file": "shared/guides/setup-incremental-builds-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/angular/setup-incremental-builds-angular", - "tags": [] - }, - "/recipes/node": { - "id": "node", - "name": "Node", - "description": "Set of Node related recipes.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "node-server-fly-io", - "name": "Deploying a Node App to Fly.io", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-server-fly-io", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-server-fly-io", - "tags": ["deployment", "node"] - }, - { - "id": "node-serverless-functions-netlify", - "name": "Add and Deploy Netlify Edge Functions with Node", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-serverless-functions-netlify", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-serverless-functions-netlify", - "tags": ["deployment", "node"] - }, - { - "id": "node-aws-lambda", - "name": "Deploying AWS lambda in Node.js (deprecated)", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-aws-lambda", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-aws-lambda", - "tags": ["deployment", "node"] - }, - { - "id": "application-proxies", - "name": "Set Up Application Proxies", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/application-proxies", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/application-proxies", - "tags": ["node"] - }, - { - "id": "wait-for-tasks", - "name": "Wait for Tasks to Finish", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/wait-for-tasks", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/wait-for-tasks", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/node", - "tags": [] - }, - "/recipes/node/node-server-fly-io": { - "id": "node-server-fly-io", - "name": "Deploying a Node App to Fly.io", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-server-fly-io", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-server-fly-io", - "tags": ["deployment", "node"] - }, - "/recipes/node/node-serverless-functions-netlify": { - "id": "node-serverless-functions-netlify", - "name": "Add and Deploy Netlify Edge Functions with Node", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-serverless-functions-netlify", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-serverless-functions-netlify", - "tags": ["deployment", "node"] - }, - "/recipes/node/node-aws-lambda": { - "id": "node-aws-lambda", - "name": "Deploying AWS lambda in Node.js (deprecated)", - "description": "", - "mediaImage": "", - "file": "shared/recipes/deployment/node-aws-lambda", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/node-aws-lambda", - "tags": ["deployment", "node"] - }, - "/recipes/node/application-proxies": { - "id": "application-proxies", - "name": "Set Up Application Proxies", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/application-proxies", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/application-proxies", - "tags": ["node"] - }, - "/recipes/node/wait-for-tasks": { - "id": "wait-for-tasks", - "name": "Wait for Tasks to Finish", - "description": "", - "mediaImage": "", - "file": "shared/recipes/node/wait-for-tasks", - "itemList": [], - "isExternal": false, - "path": "/recipes/node/wait-for-tasks", - "tags": [] - }, - "/recipes/storybook": { - "id": "storybook", - "name": "Storybook", - "description": "Storybook strategies and setups.", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "overview-react", - "name": "Set up Storybook for React Projects", - "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-react", - "tags": ["storybook"] - }, - { - "id": "overview-angular", - "name": "Set up Storybook for Angular Projects", - "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-angular", - "tags": ["storybook"] - }, - { - "id": "overview-vue", - "name": "Set up Storybook for Vue Projects", - "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-vue", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-vue", - "tags": ["storybook"] - }, - { - "id": "configuring-storybook", - "name": "Configuring Storybook on Nx", - "description": "This guide explains how Storybook is configured on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/configuring-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/configuring-storybook", - "tags": ["storybook"] - }, - { - "id": "one-storybook-for-all", - "name": "One main Storybook instance for all projects", - "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-for-all", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-for-all", - "tags": ["storybook"] - }, - { - "id": "one-storybook-per-scope", - "name": "One Storybook instance per scope", - "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-per-scope", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-per-scope", - "tags": ["storybook"] - }, - { - "id": "one-storybook-with-composition", - "name": "One main Storybook instance using Storybook Composition", - "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-with-composition", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-with-composition", - "tags": ["storybook"] - }, - { - "id": "custom-builder-configs", - "name": "How to configure Webpack and Vite for Storybook", - "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", - "mediaImage": "", - "file": "shared/recipes/storybook/custom-builder-configs", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/custom-builder-configs", - "tags": ["storybook"] - }, - { - "id": "storybook-interaction-tests", - "name": "Setting up Storybook Interaction Tests with Nx", - "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/interaction-tests", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-interaction-tests", - "tags": ["storybook"] - }, - { - "id": "upgrading-storybook", - "name": "Upgrading Storybook using the Storybook CLI", - "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", - "mediaImage": "", - "file": "shared/recipes/storybook/upgrading-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/upgrading-storybook", - "tags": ["storybook"] - }, - { - "id": "storybook-composition-setup", - "name": "Setting up Storybook Composition with Nx", - "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/storybook-composition-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-composition-setup", - "tags": ["storybook"] - }, - { - "id": "angular-storybook-compodoc", - "name": "Angular: Set up Compodoc for Storybook on Nx", - "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-storybook-compodoc", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-storybook-compodoc", - "tags": ["storybook"] - }, - { - "id": "angular-configuring-styles", - "name": "Angular: Configuring styles and preprocessor options", - "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-configuring-styles", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-configuring-styles", - "tags": ["storybook"] - } - ], - "isExternal": false, - "path": "/recipes/storybook", - "tags": [] - }, - "/recipes/storybook/overview-react": { - "id": "overview-react", - "name": "Set up Storybook for React Projects", - "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-react", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-react", - "tags": ["storybook"] - }, - "/recipes/storybook/overview-angular": { - "id": "overview-angular", - "name": "Set up Storybook for Angular Projects", - "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-angular", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-angular", - "tags": ["storybook"] - }, - "/recipes/storybook/overview-vue": { - "id": "overview-vue", - "name": "Set up Storybook for Vue Projects", - "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/plugin-vue", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/overview-vue", - "tags": ["storybook"] - }, - "/recipes/storybook/configuring-storybook": { - "id": "configuring-storybook", - "name": "Configuring Storybook on Nx", - "description": "This guide explains how Storybook is configured on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/configuring-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/configuring-storybook", - "tags": ["storybook"] - }, - "/recipes/storybook/one-storybook-for-all": { - "id": "one-storybook-for-all", - "name": "One main Storybook instance for all projects", - "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-for-all", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-for-all", - "tags": ["storybook"] - }, - "/recipes/storybook/one-storybook-per-scope": { - "id": "one-storybook-per-scope", - "name": "One Storybook instance per scope", - "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-per-scope", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-per-scope", - "tags": ["storybook"] - }, - "/recipes/storybook/one-storybook-with-composition": { - "id": "one-storybook-with-composition", - "name": "One main Storybook instance using Storybook Composition", - "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", - "mediaImage": "", - "file": "shared/recipes/storybook/one-storybook-with-composition", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/one-storybook-with-composition", - "tags": ["storybook"] - }, - "/recipes/storybook/custom-builder-configs": { - "id": "custom-builder-configs", - "name": "How to configure Webpack and Vite for Storybook", - "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", - "mediaImage": "", - "file": "shared/recipes/storybook/custom-builder-configs", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/custom-builder-configs", - "tags": ["storybook"] - }, - "/recipes/storybook/storybook-interaction-tests": { - "id": "storybook-interaction-tests", - "name": "Setting up Storybook Interaction Tests with Nx", - "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/interaction-tests", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-interaction-tests", - "tags": ["storybook"] - }, - "/recipes/storybook/upgrading-storybook": { - "id": "upgrading-storybook", - "name": "Upgrading Storybook using the Storybook CLI", - "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", - "mediaImage": "", - "file": "shared/recipes/storybook/upgrading-storybook", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/upgrading-storybook", - "tags": ["storybook"] - }, - "/recipes/storybook/storybook-composition-setup": { - "id": "storybook-composition-setup", - "name": "Setting up Storybook Composition with Nx", - "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/storybook-composition-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/storybook-composition-setup", - "tags": ["storybook"] - }, - "/recipes/storybook/angular-storybook-compodoc": { - "id": "angular-storybook-compodoc", - "name": "Angular: Set up Compodoc for Storybook on Nx", - "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-storybook-compodoc", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-storybook-compodoc", - "tags": ["storybook"] - }, - "/recipes/storybook/angular-configuring-styles": { - "id": "angular-configuring-styles", - "name": "Angular: Configuring styles and preprocessor options", - "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", - "mediaImage": "", - "file": "shared/recipes/storybook/angular-configuring-styles", - "itemList": [], - "isExternal": false, - "path": "/recipes/storybook/angular-configuring-styles", - "tags": ["storybook"] - }, - "/recipes/cypress": { - "id": "cypress", - "name": "Cypress", - "description": "Cypress related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "cypress-component-testing", - "name": "Component Testing", - "description": "Component Testing", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-component-testing", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-component-testing", - "tags": [] - }, - { - "id": "cypress-setup-node-events", - "name": "Using setupNodeEvents with Cypress preset", - "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-setup-node-events", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-setup-node-events", - "tags": [] - }, - { - "id": "cypress-v11-migration", - "name": "Cypress v11 Migration Guide", - "description": "Cypress v11 Migration Guide", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-v11-migration", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-v11-migration", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/cypress", - "tags": [] - }, - "/recipes/cypress/cypress-component-testing": { - "id": "cypress-component-testing", - "name": "Component Testing", - "description": "Component Testing", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-component-testing", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-component-testing", - "tags": [] - }, - "/recipes/cypress/cypress-setup-node-events": { - "id": "cypress-setup-node-events", - "name": "Using setupNodeEvents with Cypress preset", - "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-setup-node-events", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-setup-node-events", - "tags": [] - }, - "/recipes/cypress/cypress-v11-migration": { - "id": "cypress-v11-migration", - "name": "Cypress v11 Migration Guide", - "description": "Cypress v11 Migration Guide", - "mediaImage": "", - "file": "shared/packages/cypress/cypress-v11-migration", - "itemList": [], - "isExternal": false, - "path": "/recipes/cypress/cypress-v11-migration", - "tags": [] - }, - "/recipes/next": { - "id": "next", - "name": "Next", - "description": "Next related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "next-config-setup", - "name": "How to configure Next.js plugins", - "description": "How to configure Next.js plugins", - "mediaImage": "", - "file": "shared/packages/next/next-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/next/next-config-setup", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/next", - "tags": [] - }, - "/recipes/next/next-config-setup": { - "id": "next-config-setup", - "name": "How to configure Next.js plugins", - "description": "How to configure Next.js plugins", - "mediaImage": "", - "file": "shared/packages/next/next-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/next/next-config-setup", - "tags": [] - }, - "/recipes/nuxt": { - "id": "nuxt", - "name": "Nuxt", - "description": "Nuxt related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "deploy-nuxt-to-vercel", - "name": "Deploying Nuxt applications to Vercel", - "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/nuxt", - "tags": [] - }, - "/recipes/nuxt/deploy-nuxt-to-vercel": { - "id": "deploy-nuxt-to-vercel", - "name": "Deploying Nuxt applications to Vercel", - "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", - "mediaImage": "", - "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", - "itemList": [], - "isExternal": false, - "path": "/recipes/nuxt/deploy-nuxt-to-vercel", - "tags": [] - }, - "/recipes/vite": { - "id": "vite", - "name": "Vite", - "description": "Vite related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "configure-vite", - "name": "Configure Vite on your Nx workspace", - "description": "Configure Vite on your Nx workspace", - "mediaImage": "", - "file": "shared/packages/vite/configure-vite", - "itemList": [], - "isExternal": false, - "path": "/recipes/vite/configure-vite", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/vite", - "tags": [] - }, - "/recipes/vite/configure-vite": { - "id": "configure-vite", - "name": "Configure Vite on your Nx workspace", - "description": "Configure Vite on your Nx workspace", - "mediaImage": "", - "file": "shared/packages/vite/configure-vite", - "itemList": [], - "isExternal": false, - "path": "/recipes/vite/configure-vite", - "tags": [] - }, - "/recipes/webpack": { - "id": "webpack", - "name": "Webpack", - "description": "Webpack related recipes", - "mediaImage": "", - "file": "", - "itemList": [ - { - "id": "webpack-config-setup", - "name": "How to configure Webpack in your Nx workspace", - "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-config-setup", - "tags": [] - }, - { - "id": "webpack-plugins", - "name": "Webpack plugins", - "description": "Webpack plugins", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-plugins", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-plugins", - "tags": [] - } - ], - "isExternal": false, - "path": "/recipes/webpack", - "tags": [] - }, - "/recipes/webpack/webpack-config-setup": { - "id": "webpack-config-setup", - "name": "How to configure Webpack in your Nx workspace", - "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-config-setup", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-config-setup", - "tags": [] - }, - "/recipes/webpack/webpack-plugins": { - "id": "webpack-plugins", - "name": "Webpack plugins", - "description": "Webpack plugins", - "mediaImage": "", - "file": "shared/packages/webpack/webpack-plugins", - "itemList": [], - "isExternal": false, - "path": "/recipes/webpack/webpack-plugins", - "tags": [] - }, "/recipes/enforce-module-boundaries": { "id": "enforce-module-boundaries", "name": "Enforce Module Boundaries", @@ -5408,61 +2567,6 @@ "path": "/recipes/tips-n-tricks/standalone-to-monorepo", "tags": [] }, - { - "id": "eslint", - "name": "Configuring ESLint with Typescript", - "description": "", - "mediaImage": "", - "file": "shared/eslint", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/eslint", - "tags": [] - }, - { - "id": "switch-to-workspaces-project-references", - "name": "Switch to Workspaces and TS Project References", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "tags": ["project-linking"] - }, - { - "id": "enable-tsc-batch-mode", - "name": "Enable Typescript Batch Mode", - "description": "", - "mediaImage": "", - "file": "shared/recipes/enable-tsc-batch-mode", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "tags": [] - }, - { - "id": "define-secondary-entrypoints", - "name": "Define Secondary Entrypoints for Typescript Packages", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "tags": [] - }, - { - "id": "compile-multiple-formats", - "name": "Compile Typescript Packages to Multiple Formats", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "tags": [] - }, { "id": "keep-nx-versions-in-sync", "name": "Keep Nx Versions in Sync", @@ -5540,17 +2644,6 @@ "path": "/recipes/tips-n-tricks/analyze-source-files", "tags": ["explore-graph"] }, - { - "id": "js-and-ts", - "name": "Use JavaScript instead TypeScript", - "description": "", - "mediaImage": "", - "file": "shared/guides/js-and-ts", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/js-and-ts", - "tags": [] - }, { "id": "advanced-update", "name": "Altering Migration Process", @@ -5572,17 +2665,6 @@ "isExternal": false, "path": "/recipes/tips-n-tricks/yarn-pnp", "tags": ["yarn", "Plug and Play"] - }, - { - "id": "flat-config", - "name": "Switching to ESLint's flat config format", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/flat-config", - "tags": ["eslint", "flat config"] } ], "isExternal": false, @@ -5600,61 +2682,6 @@ "path": "/recipes/tips-n-tricks/standalone-to-monorepo", "tags": [] }, - "/recipes/tips-n-tricks/eslint": { - "id": "eslint", - "name": "Configuring ESLint with Typescript", - "description": "", - "mediaImage": "", - "file": "shared/eslint", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/eslint", - "tags": [] - }, - "/recipes/tips-n-tricks/switch-to-workspaces-project-references": { - "id": "switch-to-workspaces-project-references", - "name": "Switch to Workspaces and TS Project References", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references", - "tags": ["project-linking"] - }, - "/recipes/tips-n-tricks/enable-tsc-batch-mode": { - "id": "enable-tsc-batch-mode", - "name": "Enable Typescript Batch Mode", - "description": "", - "mediaImage": "", - "file": "shared/recipes/enable-tsc-batch-mode", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/enable-tsc-batch-mode", - "tags": [] - }, - "/recipes/tips-n-tricks/define-secondary-entrypoints": { - "id": "define-secondary-entrypoints", - "name": "Define Secondary Entrypoints for Typescript Packages", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/define-secondary-entrypoints", - "tags": [] - }, - "/recipes/tips-n-tricks/compile-multiple-formats": { - "id": "compile-multiple-formats", - "name": "Compile Typescript Packages to Multiple Formats", - "description": "", - "mediaImage": "", - "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/compile-multiple-formats", - "tags": [] - }, "/recipes/tips-n-tricks/keep-nx-versions-in-sync": { "id": "keep-nx-versions-in-sync", "name": "Keep Nx Versions in Sync", @@ -5732,17 +2759,6 @@ "path": "/recipes/tips-n-tricks/analyze-source-files", "tags": ["explore-graph"] }, - "/recipes/tips-n-tricks/js-and-ts": { - "id": "js-and-ts", - "name": "Use JavaScript instead TypeScript", - "description": "", - "mediaImage": "", - "file": "shared/guides/js-and-ts", - "itemList": [], - "isExternal": false, - "path": "/recipes/tips-n-tricks/js-and-ts", - "tags": [] - }, "/recipes/tips-n-tricks/advanced-update": { "id": "advanced-update", "name": "Altering Migration Process", @@ -5765,7 +2781,5581 @@ "path": "/recipes/tips-n-tricks/yarn-pnp", "tags": ["yarn", "Plug and Play"] }, - "/recipes/tips-n-tricks/flat-config": { + "/concepts": { + "id": "concepts", + "name": "Core Concepts", + "description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "mental-model", + "name": "Mental Model", + "description": "", + "mediaImage": "", + "file": "shared/concepts/mental-model", + "itemList": [], + "isExternal": false, + "path": "/concepts/mental-model", + "tags": ["intro", "inferred-tasks"] + }, + { + "id": "how-caching-works", + "name": "How Caching Works", + "description": "", + "mediaImage": "", + "file": "shared/concepts/how-caching-works", + "itemList": [], + "isExternal": false, + "path": "/concepts/how-caching-works", + "tags": ["cache-task-results"] + }, + { + "id": "task-pipeline-configuration", + "name": "What is a Task Pipeline", + "description": "", + "mediaImage": "", + "file": "shared/concepts/task-pipeline-configuration", + "itemList": [], + "isExternal": false, + "path": "/concepts/task-pipeline-configuration", + "tags": ["run-tasks"] + }, + { + "id": "nx-plugins", + "name": "What Are Nx Plugins", + "description": "", + "mediaImage": "", + "file": "shared/concepts/nx-plugins", + "itemList": [], + "isExternal": false, + "path": "/concepts/nx-plugins", + "tags": [ + "add", + "generate-code", + "create-your-own-plugin", + "inferred-tasks" + ] + }, + { + "id": "inferred-tasks", + "name": "Inferred Tasks", + "description": "", + "mediaImage": "", + "file": "shared/concepts/inferred-tasks", + "itemList": [], + "isExternal": false, + "path": "/concepts/inferred-tasks", + "tags": ["inferred-tasks"] + }, + { + "id": "types-of-configuration", + "name": "Types of Configuration", + "description": "", + "mediaImage": "", + "file": "shared/concepts/types-of-configuration", + "itemList": [], + "isExternal": false, + "path": "/concepts/types-of-configuration", + "tags": [] + }, + { + "id": "executors-and-configurations", + "name": "Executors and Configurations", + "description": "", + "mediaImage": "", + "file": "shared/concepts/executors-and-configurations", + "itemList": [], + "isExternal": false, + "path": "/concepts/executors-and-configurations", + "tags": ["run-tasks"] + }, + { + "id": "common-tasks", + "name": "Common Tasks", + "description": "", + "mediaImage": "", + "file": "shared/concepts/common-tasks", + "itemList": [], + "isExternal": false, + "path": "/concepts/common-tasks", + "tags": ["run-tasks"] + }, + { + "id": "nx-daemon", + "name": "Nx Daemon", + "description": "", + "mediaImage": "", + "file": "shared/concepts/daemon", + "itemList": [], + "isExternal": false, + "path": "/concepts/nx-daemon", + "tags": ["daemon"] + }, + { + "id": "sync-generators", + "name": "Sync Generators", + "description": "", + "mediaImage": "", + "file": "shared/concepts/sync-generators", + "itemList": [], + "isExternal": false, + "path": "/concepts/sync-generators", + "tags": ["sync"] + }, + { + "id": "typescript-project-linking", + "name": "TypeScript Project Linking", + "description": "", + "mediaImage": "", + "file": "shared/concepts/typescript-project-linking", + "itemList": [], + "isExternal": false, + "path": "/concepts/typescript-project-linking", + "tags": ["project-linking"] + }, + { + "id": "buildable-and-publishable-libraries", + "name": "Buildable and Publishable Libraries", + "description": "", + "mediaImage": "", + "file": "shared/concepts/buildable-and-publishable-libraries", + "itemList": [], + "isExternal": false, + "path": "/concepts/buildable-and-publishable-libraries", + "tags": [] + }, + { + "id": "decisions", + "name": "Organizational Decisions", + "description": "Topics that need to be considered when structuring your repository", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepo-polyrepo", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/overview", + "tags": [] + }, + { + "id": "why-monorepos", + "name": "Monorepos", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepos", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/why-monorepos", + "tags": [] + }, + { + "id": "dependency-management", + "name": "Dependency Management", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/dependency-management", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/dependency-management", + "tags": [] + }, + { + "id": "code-ownership", + "name": "Code Ownership", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/code-ownership", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/code-ownership", + "tags": [] + }, + { + "id": "project-size", + "name": "Project Size", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-size", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-size", + "tags": ["enforce-module-boundaries"] + }, + { + "id": "project-dependency-rules", + "name": "Project Dependency Rules", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-dependency-rules", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-dependency-rules", + "tags": ["enforce-module-boundaries"] + }, + { + "id": "folder-structure", + "name": "Folder Structure", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/folder-structure", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/folder-structure", + "tags": ["enforce-module-boundaries"] + } + ], + "isExternal": false, + "path": "/concepts/decisions", + "tags": [] + } + ], + "isExternal": false, + "path": "/concepts", + "tags": [] + }, + "/concepts/mental-model": { + "id": "mental-model", + "name": "Mental Model", + "description": "", + "mediaImage": "", + "file": "shared/concepts/mental-model", + "itemList": [], + "isExternal": false, + "path": "/concepts/mental-model", + "tags": ["intro", "inferred-tasks"] + }, + "/concepts/how-caching-works": { + "id": "how-caching-works", + "name": "How Caching Works", + "description": "", + "mediaImage": "", + "file": "shared/concepts/how-caching-works", + "itemList": [], + "isExternal": false, + "path": "/concepts/how-caching-works", + "tags": ["cache-task-results"] + }, + "/concepts/task-pipeline-configuration": { + "id": "task-pipeline-configuration", + "name": "What is a Task Pipeline", + "description": "", + "mediaImage": "", + "file": "shared/concepts/task-pipeline-configuration", + "itemList": [], + "isExternal": false, + "path": "/concepts/task-pipeline-configuration", + "tags": ["run-tasks"] + }, + "/concepts/nx-plugins": { + "id": "nx-plugins", + "name": "What Are Nx Plugins", + "description": "", + "mediaImage": "", + "file": "shared/concepts/nx-plugins", + "itemList": [], + "isExternal": false, + "path": "/concepts/nx-plugins", + "tags": ["add", "generate-code", "create-your-own-plugin", "inferred-tasks"] + }, + "/concepts/inferred-tasks": { + "id": "inferred-tasks", + "name": "Inferred Tasks", + "description": "", + "mediaImage": "", + "file": "shared/concepts/inferred-tasks", + "itemList": [], + "isExternal": false, + "path": "/concepts/inferred-tasks", + "tags": ["inferred-tasks"] + }, + "/concepts/types-of-configuration": { + "id": "types-of-configuration", + "name": "Types of Configuration", + "description": "", + "mediaImage": "", + "file": "shared/concepts/types-of-configuration", + "itemList": [], + "isExternal": false, + "path": "/concepts/types-of-configuration", + "tags": [] + }, + "/concepts/executors-and-configurations": { + "id": "executors-and-configurations", + "name": "Executors and Configurations", + "description": "", + "mediaImage": "", + "file": "shared/concepts/executors-and-configurations", + "itemList": [], + "isExternal": false, + "path": "/concepts/executors-and-configurations", + "tags": ["run-tasks"] + }, + "/concepts/common-tasks": { + "id": "common-tasks", + "name": "Common Tasks", + "description": "", + "mediaImage": "", + "file": "shared/concepts/common-tasks", + "itemList": [], + "isExternal": false, + "path": "/concepts/common-tasks", + "tags": ["run-tasks"] + }, + "/concepts/nx-daemon": { + "id": "nx-daemon", + "name": "Nx Daemon", + "description": "", + "mediaImage": "", + "file": "shared/concepts/daemon", + "itemList": [], + "isExternal": false, + "path": "/concepts/nx-daemon", + "tags": ["daemon"] + }, + "/concepts/sync-generators": { + "id": "sync-generators", + "name": "Sync Generators", + "description": "", + "mediaImage": "", + "file": "shared/concepts/sync-generators", + "itemList": [], + "isExternal": false, + "path": "/concepts/sync-generators", + "tags": ["sync"] + }, + "/concepts/typescript-project-linking": { + "id": "typescript-project-linking", + "name": "TypeScript Project Linking", + "description": "", + "mediaImage": "", + "file": "shared/concepts/typescript-project-linking", + "itemList": [], + "isExternal": false, + "path": "/concepts/typescript-project-linking", + "tags": ["project-linking"] + }, + "/concepts/buildable-and-publishable-libraries": { + "id": "buildable-and-publishable-libraries", + "name": "Buildable and Publishable Libraries", + "description": "", + "mediaImage": "", + "file": "shared/concepts/buildable-and-publishable-libraries", + "itemList": [], + "isExternal": false, + "path": "/concepts/buildable-and-publishable-libraries", + "tags": [] + }, + "/concepts/decisions": { + "id": "decisions", + "name": "Organizational Decisions", + "description": "Topics that need to be considered when structuring your repository", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepo-polyrepo", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/overview", + "tags": [] + }, + { + "id": "why-monorepos", + "name": "Monorepos", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepos", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/why-monorepos", + "tags": [] + }, + { + "id": "dependency-management", + "name": "Dependency Management", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/dependency-management", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/dependency-management", + "tags": [] + }, + { + "id": "code-ownership", + "name": "Code Ownership", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/code-ownership", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/code-ownership", + "tags": [] + }, + { + "id": "project-size", + "name": "Project Size", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-size", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-size", + "tags": ["enforce-module-boundaries"] + }, + { + "id": "project-dependency-rules", + "name": "Project Dependency Rules", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-dependency-rules", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-dependency-rules", + "tags": ["enforce-module-boundaries"] + }, + { + "id": "folder-structure", + "name": "Folder Structure", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/folder-structure", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/folder-structure", + "tags": ["enforce-module-boundaries"] + } + ], + "isExternal": false, + "path": "/concepts/decisions", + "tags": [] + }, + "/concepts/decisions/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepo-polyrepo", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/overview", + "tags": [] + }, + "/concepts/decisions/why-monorepos": { + "id": "why-monorepos", + "name": "Monorepos", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/monorepos", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/why-monorepos", + "tags": [] + }, + "/concepts/decisions/dependency-management": { + "id": "dependency-management", + "name": "Dependency Management", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/dependency-management", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/dependency-management", + "tags": [] + }, + "/concepts/decisions/code-ownership": { + "id": "code-ownership", + "name": "Code Ownership", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/code-ownership", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/code-ownership", + "tags": [] + }, + "/concepts/decisions/project-size": { + "id": "project-size", + "name": "Project Size", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-size", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-size", + "tags": ["enforce-module-boundaries"] + }, + "/concepts/decisions/project-dependency-rules": { + "id": "project-dependency-rules", + "name": "Project Dependency Rules", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/project-dependency-rules", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/project-dependency-rules", + "tags": ["enforce-module-boundaries"] + }, + "/concepts/decisions/folder-structure": { + "id": "folder-structure", + "name": "Folder Structure", + "description": "", + "mediaImage": "", + "file": "shared/concepts/decisions/folder-structure", + "itemList": [], + "isExternal": false, + "path": "/concepts/decisions/folder-structure", + "tags": ["enforce-module-boundaries"] + }, + "/technologies": { + "id": "technologies", + "name": "Technologies", + "description": "Guides and API references for all supported technologies.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "typescript", + "name": "TypeScript", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "switch-to-workspaces-project-references", + "name": "Switch to Workspaces and TS Project References", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references", + "tags": ["project-linking"] + }, + { + "id": "enable-tsc-batch-mode", + "name": "Enable Typescript Batch Mode", + "description": "", + "mediaImage": "", + "file": "shared/recipes/enable-tsc-batch-mode", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/enable-tsc-batch-mode", + "tags": [] + }, + { + "id": "define-secondary-entrypoints", + "name": "Define Secondary Entrypoints for Typescript Packages", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/define-secondary-entrypoints", + "tags": [] + }, + { + "id": "compile-multiple-formats", + "name": "Compile Typescript Packages to Multiple Formats", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/compile-multiple-formats", + "tags": [] + }, + { + "id": "js-and-ts", + "name": "Use JavaScript instead TypeScript", + "description": "", + "mediaImage": "", + "file": "shared/guides/js-and-ts", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/js-and-ts", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/typescript/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/typescript", + "tags": [] + }, + { + "id": "angular", + "name": "Angular", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/introduction", + "tags": [] + }, + { + "id": "migration", + "name": "Migration", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "angular", + "name": "Migrating from Angular CLI", + "description": "", + "mediaImage": "", + "file": "shared/migration/migration-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular", + "tags": ["init"] + }, + { + "id": "angular-multiple", + "name": "Migrating From Multiple Angular CLI Repos", + "description": "", + "mediaImage": "", + "file": "shared/migration/angular-multiple", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular-multiple", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/migration", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "use-environment-variables-in-angular", + "name": "Use Environment Variables in Angular", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/use-environment-variables-in-angular", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-with-angular-projects", + "name": "Using Tailwind CSS with Angular projects", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-with-angular-projects", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/using-tailwind-css-with-angular-projects", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/module-federation-with-ssr", + "tags": ["module-federation", "angular"] + }, + { + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation/dynamic-mfe-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular", + "tags": ["module-federation", "angular"] + }, + { + "id": "setup-incremental-builds-angular", + "name": "Setup incremental builds for Angular applications", + "description": "", + "mediaImage": "", + "file": "shared/guides/setup-incremental-builds-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/setup-incremental-builds-angular", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/api", + "tags": [] + }, + { + "id": "angular-rspack", + "name": "Angular Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/introduction", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/getting-started", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "tags": ["getting-started", "angular", "rspack", "setup"] + }, + { + "id": "migrate-from-webpack", + "name": "Migrate from Angular Webpack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/migrate-from-webpack", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "tags": ["migrate-from-webpack"] + }, + { + "id": "handling-configurations", + "name": "Handling Configurations", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/handling-configurations", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "tags": ["handling-configurations", "configurations"] + }, + { + "id": "internationalization", + "name": "Internationalization (i18n)", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/internationalization", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "tags": ["internationalization", "i18n"] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rspack/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack", + "tags": [] + }, + { + "id": "angular-rsbuild", + "name": "Angular Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rsbuild/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular", + "tags": [] + }, + { + "id": "react", + "name": "React", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "react-native", + "name": "React Native with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-native", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-native", + "tags": [] + }, + { + "id": "remix", + "name": "Remix with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/remix", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/remix", + "tags": [] + }, + { + "id": "react-router", + "name": "React Router with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-router", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-router", + "tags": [] + }, + { + "id": "use-environment-variables-in-react", + "name": "Use Environment Variables in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/use-environment-variables-in-react", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-in-react", + "name": "Using Tailwind CSS in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/using-tailwind-css-in-react", + "tags": [] + }, + { + "id": "adding-assets-react", + "name": "Adding Images, Fonts, and Files", + "description": "", + "mediaImage": "", + "file": "shared/guides/adding-assets", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/adding-assets-react", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/module-federation-with-ssr", + "tags": ["module-federation", "react"] + }, + { + "id": "deploy-nextjs-to-vercel", + "name": "Deploying Next.js applications to Vercel", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/deploy-nextjs-to-vercel", + "tags": [] + }, + { + "id": "react-compiler", + "name": "React Compiler with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-compiler", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-compiler", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/api", + "tags": [] + }, + { + "id": "next", + "name": "Next", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "mediaImage": "", + "file": "shared/packages/next/next-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/recipes/next-config-setup", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next", + "tags": [] + }, + { + "id": "remix", + "name": "Remix", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/remix", + "tags": [] + }, + { + "id": "react-native", + "name": "React Native", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/react-native", + "tags": [] + }, + { + "id": "expo", + "name": "Expo", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/expo", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react", + "tags": [] + }, + { + "id": "vue", + "name": "Vue", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/api", + "tags": [] + }, + { + "id": "nuxt", + "name": "Nuxt", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue", + "tags": [] + }, + { + "id": "node", + "name": "Node.js", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "node-server-fly-io", + "name": "Deploying a Node App to Fly.io", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-server-fly-io", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-server-fly-io", + "tags": ["deployment", "node"] + }, + { + "id": "node-serverless-functions-netlify", + "name": "Add and Deploy Netlify Edge Functions with Node", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-serverless-functions-netlify", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-serverless-functions-netlify", + "tags": ["deployment", "node"] + }, + { + "id": "node-aws-lambda", + "name": "Deploying AWS lambda in Node.js (deprecated)", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-aws-lambda", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-aws-lambda", + "tags": ["deployment", "node"] + }, + { + "id": "application-proxies", + "name": "Set Up Application Proxies", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/application-proxies", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/application-proxies", + "tags": ["node"] + }, + { + "id": "wait-for-tasks", + "name": "Wait for Tasks to Finish", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/wait-for-tasks", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/wait-for-tasks", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/api", + "tags": [] + }, + { + "id": "express", + "name": "Express", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/express", + "tags": [] + }, + { + "id": "nest", + "name": "Nest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/nest", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node", + "tags": [] + }, + { + "id": "java", + "name": "Java", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/java", + "tags": [] + }, + { + "id": "module-federation", + "name": "Module Federation", + "description": "Advanced guides to utilize Module Federation with Nx.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/introduction", + "tags": [] + }, + { + "id": "concepts", + "name": "Concepts", + "description": "Understand more about Module Federation with NX", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/module-federation-and-nx", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/micro-frontend-architecture", + "tags": [] + }, + { + "id": "manage-library-versions-with-module-federation", + "name": "Manage Library Versions with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/manage-library-versions-with-module-federation", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/concepts", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "create-a-host", + "name": "How to create a Module Federation Host Application", + "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-host", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-host", + "tags": [] + }, + { + "id": "create-a-remote", + "name": "How to create a Module Federation Remote Application", + "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-remote", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-remote", + "tags": [] + }, + { + "id": "federate-a-module", + "name": "How to Federate a Module", + "description": "A guide on how to federate a module in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/federate-a-module", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/federate-a-module", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation", + "tags": [] + }, + { + "id": "eslint", + "name": "ESLint", + "description": "Guides and API references for ESLint in Nx.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "eslint", + "name": "Configuring ESLint with Typescript", + "description": "", + "mediaImage": "", + "file": "shared/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/eslint", + "tags": [] + }, + { + "id": "flat-config", + "name": "Switching to ESLint's flat config format", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/flat-config", + "tags": ["eslint", "flat config"] + } + ], + "isExternal": false, + "path": "/technologies/eslint/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/api", + "tags": [] + }, + { + "id": "eslint-plugin", + "name": "ESLint Plugin", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/eslint", + "tags": [] + }, + { + "id": "build-tools", + "name": "Build Tools", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack", + "name": "Webpack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "tags": [] + }, + { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-plugins", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack", + "tags": [] + }, + { + "id": "vite", + "name": "Vite", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "mediaImage": "", + "file": "shared/packages/vite/configure-vite", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite", + "tags": [] + }, + { + "id": "rollup", + "name": "Rollup", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rollup", + "tags": [] + }, + { + "id": "esbuild", + "name": "ESBuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/esbuild", + "tags": [] + }, + { + "id": "rspack", + "name": "Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rspack", + "tags": [] + }, + { + "id": "rsbuild", + "name": "Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools", + "tags": [] + }, + { + "id": "test-tools", + "name": "Test Tools", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress", + "name": "Cypress", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-component-testing", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "tags": [] + }, + { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-setup-node-events", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "tags": [] + }, + { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-v11-migration", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress", + "tags": [] + }, + { + "id": "jest", + "name": "Jest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/jest", + "tags": [] + }, + { + "id": "playwright", + "name": "Playwright", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/playwright", + "tags": [] + }, + { + "id": "storybook", + "name": "Storybook", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "tags": ["storybook"] + }, + { + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "tags": ["storybook"] + }, + { + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-vue", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "tags": ["storybook"] + }, + { + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/configuring-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "tags": ["storybook"] + }, + { + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-for-all", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "tags": ["storybook"] + }, + { + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "tags": ["storybook"] + }, + { + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "tags": ["storybook"] + }, + { + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "mediaImage": "", + "file": "shared/recipes/storybook/custom-builder-configs", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "tags": ["storybook"] + }, + { + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/interaction-tests", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "tags": ["storybook"] + }, + { + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "mediaImage": "", + "file": "shared/recipes/storybook/upgrading-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "tags": ["storybook"] + }, + { + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/storybook-composition-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "tags": ["storybook"] + }, + { + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "tags": ["storybook"] + }, + { + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-configuring-styles", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "tags": ["storybook"] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook", + "tags": [] + }, + { + "id": "detox", + "name": "Detox", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/detox", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies", + "tags": [] + }, + "/technologies/typescript": { + "id": "typescript", + "name": "TypeScript", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "switch-to-workspaces-project-references", + "name": "Switch to Workspaces and TS Project References", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references", + "tags": ["project-linking"] + }, + { + "id": "enable-tsc-batch-mode", + "name": "Enable Typescript Batch Mode", + "description": "", + "mediaImage": "", + "file": "shared/recipes/enable-tsc-batch-mode", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/enable-tsc-batch-mode", + "tags": [] + }, + { + "id": "define-secondary-entrypoints", + "name": "Define Secondary Entrypoints for Typescript Packages", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/define-secondary-entrypoints", + "tags": [] + }, + { + "id": "compile-multiple-formats", + "name": "Compile Typescript Packages to Multiple Formats", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/compile-multiple-formats", + "tags": [] + }, + { + "id": "js-and-ts", + "name": "Use JavaScript instead TypeScript", + "description": "", + "mediaImage": "", + "file": "shared/guides/js-and-ts", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/js-and-ts", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/typescript/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/typescript", + "tags": [] + }, + "/technologies/typescript/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/introduction", + "tags": [] + }, + "/technologies/typescript/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "switch-to-workspaces-project-references", + "name": "Switch to Workspaces and TS Project References", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references", + "tags": ["project-linking"] + }, + { + "id": "enable-tsc-batch-mode", + "name": "Enable Typescript Batch Mode", + "description": "", + "mediaImage": "", + "file": "shared/recipes/enable-tsc-batch-mode", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/enable-tsc-batch-mode", + "tags": [] + }, + { + "id": "define-secondary-entrypoints", + "name": "Define Secondary Entrypoints for Typescript Packages", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/define-secondary-entrypoints", + "tags": [] + }, + { + "id": "compile-multiple-formats", + "name": "Compile Typescript Packages to Multiple Formats", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/compile-multiple-formats", + "tags": [] + }, + { + "id": "js-and-ts", + "name": "Use JavaScript instead TypeScript", + "description": "", + "mediaImage": "", + "file": "shared/guides/js-and-ts", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/js-and-ts", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/typescript/recipes", + "tags": [] + }, + "/technologies/typescript/recipes/switch-to-workspaces-project-references": { + "id": "switch-to-workspaces-project-references", + "name": "Switch to Workspaces and TS Project References", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references", + "tags": ["project-linking"] + }, + "/technologies/typescript/recipes/enable-tsc-batch-mode": { + "id": "enable-tsc-batch-mode", + "name": "Enable Typescript Batch Mode", + "description": "", + "mediaImage": "", + "file": "shared/recipes/enable-tsc-batch-mode", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/enable-tsc-batch-mode", + "tags": [] + }, + "/technologies/typescript/recipes/define-secondary-entrypoints": { + "id": "define-secondary-entrypoints", + "name": "Define Secondary Entrypoints for Typescript Packages", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/define-secondary-entrypoints", + "tags": [] + }, + "/technologies/typescript/recipes/compile-multiple-formats": { + "id": "compile-multiple-formats", + "name": "Compile Typescript Packages to Multiple Formats", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/compile-multiple-formats", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/compile-multiple-formats", + "tags": [] + }, + "/technologies/typescript/recipes/js-and-ts": { + "id": "js-and-ts", + "name": "Use JavaScript instead TypeScript", + "description": "", + "mediaImage": "", + "file": "shared/guides/js-and-ts", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/recipes/js-and-ts", + "tags": [] + }, + "/technologies/typescript/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/js/js-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/typescript/api", + "tags": [] + }, + "/technologies/angular": { + "id": "angular", + "name": "Angular", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/introduction", + "tags": [] + }, + { + "id": "migration", + "name": "Migration", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "angular", + "name": "Migrating from Angular CLI", + "description": "", + "mediaImage": "", + "file": "shared/migration/migration-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular", + "tags": ["init"] + }, + { + "id": "angular-multiple", + "name": "Migrating From Multiple Angular CLI Repos", + "description": "", + "mediaImage": "", + "file": "shared/migration/angular-multiple", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular-multiple", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/migration", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "use-environment-variables-in-angular", + "name": "Use Environment Variables in Angular", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/use-environment-variables-in-angular", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-with-angular-projects", + "name": "Using Tailwind CSS with Angular projects", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-with-angular-projects", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/using-tailwind-css-with-angular-projects", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/module-federation-with-ssr", + "tags": ["module-federation", "angular"] + }, + { + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation/dynamic-mfe-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular", + "tags": ["module-federation", "angular"] + }, + { + "id": "setup-incremental-builds-angular", + "name": "Setup incremental builds for Angular applications", + "description": "", + "mediaImage": "", + "file": "shared/guides/setup-incremental-builds-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/setup-incremental-builds-angular", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/api", + "tags": [] + }, + { + "id": "angular-rspack", + "name": "Angular Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/introduction", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/getting-started", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "tags": ["getting-started", "angular", "rspack", "setup"] + }, + { + "id": "migrate-from-webpack", + "name": "Migrate from Angular Webpack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/migrate-from-webpack", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "tags": ["migrate-from-webpack"] + }, + { + "id": "handling-configurations", + "name": "Handling Configurations", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/handling-configurations", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "tags": ["handling-configurations", "configurations"] + }, + { + "id": "internationalization", + "name": "Internationalization (i18n)", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/internationalization", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "tags": ["internationalization", "i18n"] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rspack/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack", + "tags": [] + }, + { + "id": "angular-rsbuild", + "name": "Angular Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rsbuild/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular", + "tags": [] + }, + "/technologies/angular/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/introduction", + "tags": [] + }, + "/technologies/angular/migration": { + "id": "migration", + "name": "Migration", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "angular", + "name": "Migrating from Angular CLI", + "description": "", + "mediaImage": "", + "file": "shared/migration/migration-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular", + "tags": ["init"] + }, + { + "id": "angular-multiple", + "name": "Migrating From Multiple Angular CLI Repos", + "description": "", + "mediaImage": "", + "file": "shared/migration/angular-multiple", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular-multiple", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/migration", + "tags": [] + }, + "/technologies/angular/migration/angular": { + "id": "angular", + "name": "Migrating from Angular CLI", + "description": "", + "mediaImage": "", + "file": "shared/migration/migration-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular", + "tags": ["init"] + }, + "/technologies/angular/migration/angular-multiple": { + "id": "angular-multiple", + "name": "Migrating From Multiple Angular CLI Repos", + "description": "", + "mediaImage": "", + "file": "shared/migration/angular-multiple", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/migration/angular-multiple", + "tags": [] + }, + "/technologies/angular/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "use-environment-variables-in-angular", + "name": "Use Environment Variables in Angular", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/use-environment-variables-in-angular", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-with-angular-projects", + "name": "Using Tailwind CSS with Angular projects", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-with-angular-projects", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/using-tailwind-css-with-angular-projects", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/module-federation-with-ssr", + "tags": ["module-federation", "angular"] + }, + { + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation/dynamic-mfe-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular", + "tags": ["module-federation", "angular"] + }, + { + "id": "setup-incremental-builds-angular", + "name": "Setup incremental builds for Angular applications", + "description": "", + "mediaImage": "", + "file": "shared/guides/setup-incremental-builds-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/setup-incremental-builds-angular", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/recipes", + "tags": [] + }, + "/technologies/angular/recipes/use-environment-variables-in-angular": { + "id": "use-environment-variables-in-angular", + "name": "Use Environment Variables in Angular", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/use-environment-variables-in-angular", + "tags": ["environment-variables"] + }, + "/technologies/angular/recipes/using-tailwind-css-with-angular-projects": { + "id": "using-tailwind-css-with-angular-projects", + "name": "Using Tailwind CSS with Angular projects", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-with-angular-projects", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/using-tailwind-css-with-angular-projects", + "tags": [] + }, + "/technologies/angular/recipes/module-federation-with-ssr": { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for Angular", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/module-federation-with-ssr", + "tags": ["module-federation", "angular"] + }, + "/technologies/angular/recipes/dynamic-module-federation-with-angular": { + "id": "dynamic-module-federation-with-angular", + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation/dynamic-mfe-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular", + "tags": ["module-federation", "angular"] + }, + "/technologies/angular/recipes/setup-incremental-builds-angular": { + "id": "setup-incremental-builds-angular", + "name": "Setup incremental builds for Angular applications", + "description": "", + "mediaImage": "", + "file": "shared/guides/setup-incremental-builds-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/recipes/setup-incremental-builds-angular", + "tags": [] + }, + "/technologies/angular/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/angular/angular-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/api", + "tags": [] + }, + "/technologies/angular/angular-rspack": { + "id": "angular-rspack", + "name": "Angular Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/introduction", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/getting-started", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "tags": ["getting-started", "angular", "rspack", "setup"] + }, + { + "id": "migrate-from-webpack", + "name": "Migrate from Angular Webpack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/migrate-from-webpack", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "tags": ["migrate-from-webpack"] + }, + { + "id": "handling-configurations", + "name": "Handling Configurations", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/handling-configurations", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "tags": ["handling-configurations", "configurations"] + }, + { + "id": "internationalization", + "name": "Internationalization (i18n)", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/internationalization", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "tags": ["internationalization", "i18n"] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rspack/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack", + "tags": [] + }, + "/technologies/angular/angular-rspack/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/introduction", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/introduction", + "tags": [] + }, + "/technologies/angular/angular-rspack/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/getting-started", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "tags": ["getting-started", "angular", "rspack", "setup"] + }, + { + "id": "migrate-from-webpack", + "name": "Migrate from Angular Webpack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/migrate-from-webpack", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "tags": ["migrate-from-webpack"] + }, + { + "id": "handling-configurations", + "name": "Handling Configurations", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/handling-configurations", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "tags": ["handling-configurations", "configurations"] + }, + { + "id": "internationalization", + "name": "Internationalization (i18n)", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/internationalization", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "tags": ["internationalization", "i18n"] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes", + "tags": [] + }, + "/technologies/angular/angular-rspack/recipes/getting-started": { + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/getting-started", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/getting-started", + "tags": ["getting-started", "angular", "rspack", "setup"] + }, + "/technologies/angular/angular-rspack/recipes/migrate-from-webpack": { + "id": "migrate-from-webpack", + "name": "Migrate from Angular Webpack", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/migrate-from-webpack", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack", + "tags": ["migrate-from-webpack"] + }, + "/technologies/angular/angular-rspack/recipes/handling-configurations": { + "id": "handling-configurations", + "name": "Handling Configurations", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/handling-configurations", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations", + "tags": ["handling-configurations", "configurations"] + }, + "/technologies/angular/angular-rspack/recipes/internationalization": { + "id": "internationalization", + "name": "Internationalization (i18n)", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/internationalization", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/recipes/internationalization", + "tags": ["internationalization", "i18n"] + }, + "/technologies/angular/angular-rspack/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rspack/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rspack/api", + "tags": [] + }, + "/technologies/angular/angular-rsbuild": { + "id": "angular-rsbuild", + "name": "Angular Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rsbuild/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild", + "tags": [] + }, + "/technologies/angular/angular-rsbuild/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/guides/angular-rspack/api/nx-angular-rsbuild/create-config", + "itemList": [], + "isExternal": false, + "path": "/technologies/angular/angular-rsbuild/api", + "tags": [] + }, + "/technologies/react": { + "id": "react", + "name": "React", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "react-native", + "name": "React Native with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-native", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-native", + "tags": [] + }, + { + "id": "remix", + "name": "Remix with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/remix", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/remix", + "tags": [] + }, + { + "id": "react-router", + "name": "React Router with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-router", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-router", + "tags": [] + }, + { + "id": "use-environment-variables-in-react", + "name": "Use Environment Variables in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/use-environment-variables-in-react", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-in-react", + "name": "Using Tailwind CSS in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/using-tailwind-css-in-react", + "tags": [] + }, + { + "id": "adding-assets-react", + "name": "Adding Images, Fonts, and Files", + "description": "", + "mediaImage": "", + "file": "shared/guides/adding-assets", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/adding-assets-react", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/module-federation-with-ssr", + "tags": ["module-federation", "react"] + }, + { + "id": "deploy-nextjs-to-vercel", + "name": "Deploying Next.js applications to Vercel", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/deploy-nextjs-to-vercel", + "tags": [] + }, + { + "id": "react-compiler", + "name": "React Compiler with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-compiler", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-compiler", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/api", + "tags": [] + }, + { + "id": "next", + "name": "Next", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "mediaImage": "", + "file": "shared/packages/next/next-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/recipes/next-config-setup", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next", + "tags": [] + }, + { + "id": "remix", + "name": "Remix", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/remix", + "tags": [] + }, + { + "id": "react-native", + "name": "React Native", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/react-native", + "tags": [] + }, + { + "id": "expo", + "name": "Expo", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/expo", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react", + "tags": [] + }, + "/technologies/react/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/introduction", + "tags": [] + }, + "/technologies/react/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "react-native", + "name": "React Native with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-native", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-native", + "tags": [] + }, + { + "id": "remix", + "name": "Remix with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/remix", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/remix", + "tags": [] + }, + { + "id": "react-router", + "name": "React Router with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-router", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-router", + "tags": [] + }, + { + "id": "use-environment-variables-in-react", + "name": "Use Environment Variables in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/use-environment-variables-in-react", + "tags": ["environment-variables"] + }, + { + "id": "using-tailwind-css-in-react", + "name": "Using Tailwind CSS in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/using-tailwind-css-in-react", + "tags": [] + }, + { + "id": "adding-assets-react", + "name": "Adding Images, Fonts, and Files", + "description": "", + "mediaImage": "", + "file": "shared/guides/adding-assets", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/adding-assets-react", + "tags": [] + }, + { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/module-federation-with-ssr", + "tags": ["module-federation", "react"] + }, + { + "id": "deploy-nextjs-to-vercel", + "name": "Deploying Next.js applications to Vercel", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/deploy-nextjs-to-vercel", + "tags": [] + }, + { + "id": "react-compiler", + "name": "React Compiler with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-compiler", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-compiler", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/recipes", + "tags": [] + }, + "/technologies/react/recipes/react-native": { + "id": "react-native", + "name": "React Native with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-native", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-native", + "tags": [] + }, + "/technologies/react/recipes/remix": { + "id": "remix", + "name": "Remix with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/remix", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/remix", + "tags": [] + }, + "/technologies/react/recipes/react-router": { + "id": "react-router", + "name": "React Router with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-router", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-router", + "tags": [] + }, + "/technologies/react/recipes/use-environment-variables-in-react": { + "id": "use-environment-variables-in-react", + "name": "Use Environment Variables in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/use-environment-variables-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/use-environment-variables-in-react", + "tags": ["environment-variables"] + }, + "/technologies/react/recipes/using-tailwind-css-in-react": { + "id": "using-tailwind-css-in-react", + "name": "Using Tailwind CSS in React", + "description": "", + "mediaImage": "", + "file": "shared/guides/using-tailwind-css-in-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/using-tailwind-css-in-react", + "tags": [] + }, + "/technologies/react/recipes/adding-assets-react": { + "id": "adding-assets-react", + "name": "Adding Images, Fonts, and Files", + "description": "", + "mediaImage": "", + "file": "shared/guides/adding-assets", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/adding-assets-react", + "tags": [] + }, + "/technologies/react/recipes/module-federation-with-ssr": { + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "description": "", + "mediaImage": "", + "file": "shared/recipes/module-federation-with-ssr", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/module-federation-with-ssr", + "tags": ["module-federation", "react"] + }, + "/technologies/react/recipes/deploy-nextjs-to-vercel": { + "id": "deploy-nextjs-to-vercel", + "name": "Deploying Next.js applications to Vercel", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nextjs-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/deploy-nextjs-to-vercel", + "tags": [] + }, + "/technologies/react/recipes/react-compiler": { + "id": "react-compiler", + "name": "React Compiler with Nx", + "description": "", + "mediaImage": "", + "file": "shared/guides/react-compiler", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/recipes/react-compiler", + "tags": [] + }, + "/technologies/react/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react/react-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/api", + "tags": [] + }, + "/technologies/react/next": { + "id": "next", + "name": "Next", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "mediaImage": "", + "file": "shared/packages/next/next-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/recipes/next-config-setup", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next", + "tags": [] + }, + "/technologies/react/next/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/introduction", + "tags": [] + }, + "/technologies/react/next/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "mediaImage": "", + "file": "shared/packages/next/next-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/recipes/next-config-setup", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/next/recipes", + "tags": [] + }, + "/technologies/react/next/recipes/next-config-setup": { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "mediaImage": "", + "file": "shared/packages/next/next-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/recipes/next-config-setup", + "tags": [] + }, + "/technologies/react/next/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/next/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/next/api", + "tags": [] + }, + "/technologies/react/remix": { + "id": "remix", + "name": "Remix", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/remix", + "tags": [] + }, + "/technologies/react/remix/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/introduction", + "tags": [] + }, + "/technologies/react/remix/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/recipes", + "tags": [] + }, + "/technologies/react/remix/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/remix/remix-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/remix/api", + "tags": [] + }, + "/technologies/react/react-native": { + "id": "react-native", + "name": "React Native", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/react-native", + "tags": [] + }, + "/technologies/react/react-native/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/introduction", + "tags": [] + }, + "/technologies/react/react-native/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/recipes", + "tags": [] + }, + "/technologies/react/react-native/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/react-native/react-native-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/react-native/api", + "tags": [] + }, + "/technologies/react/expo": { + "id": "expo", + "name": "Expo", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/react/expo", + "tags": [] + }, + "/technologies/react/expo/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/introduction", + "tags": [] + }, + "/technologies/react/expo/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/recipes", + "tags": [] + }, + "/technologies/react/expo/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/expo/expo-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/react/expo/api", + "tags": [] + }, + "/technologies/vue": { + "id": "vue", + "name": "Vue", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/api", + "tags": [] + }, + { + "id": "nuxt", + "name": "Nuxt", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue", + "tags": [] + }, + "/technologies/vue/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/introduction", + "tags": [] + }, + "/technologies/vue/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vue/vue-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/api", + "tags": [] + }, + "/technologies/vue/nuxt": { + "id": "nuxt", + "name": "Nuxt", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt", + "tags": [] + }, + "/technologies/vue/nuxt/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/introduction", + "tags": [] + }, + "/technologies/vue/nuxt/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes", + "tags": [] + }, + "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel": { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "mediaImage": "", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel", + "tags": [] + }, + "/technologies/vue/nuxt/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nuxt/nuxt-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/vue/nuxt/api", + "tags": [] + }, + "/technologies/node": { + "id": "node", + "name": "Node.js", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "node-server-fly-io", + "name": "Deploying a Node App to Fly.io", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-server-fly-io", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-server-fly-io", + "tags": ["deployment", "node"] + }, + { + "id": "node-serverless-functions-netlify", + "name": "Add and Deploy Netlify Edge Functions with Node", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-serverless-functions-netlify", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-serverless-functions-netlify", + "tags": ["deployment", "node"] + }, + { + "id": "node-aws-lambda", + "name": "Deploying AWS lambda in Node.js (deprecated)", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-aws-lambda", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-aws-lambda", + "tags": ["deployment", "node"] + }, + { + "id": "application-proxies", + "name": "Set Up Application Proxies", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/application-proxies", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/application-proxies", + "tags": ["node"] + }, + { + "id": "wait-for-tasks", + "name": "Wait for Tasks to Finish", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/wait-for-tasks", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/wait-for-tasks", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/api", + "tags": [] + }, + { + "id": "express", + "name": "Express", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/express", + "tags": [] + }, + { + "id": "nest", + "name": "Nest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/nest", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node", + "tags": [] + }, + "/technologies/node/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/introduction", + "tags": [] + }, + "/technologies/node/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "node-server-fly-io", + "name": "Deploying a Node App to Fly.io", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-server-fly-io", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-server-fly-io", + "tags": ["deployment", "node"] + }, + { + "id": "node-serverless-functions-netlify", + "name": "Add and Deploy Netlify Edge Functions with Node", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-serverless-functions-netlify", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-serverless-functions-netlify", + "tags": ["deployment", "node"] + }, + { + "id": "node-aws-lambda", + "name": "Deploying AWS lambda in Node.js (deprecated)", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-aws-lambda", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-aws-lambda", + "tags": ["deployment", "node"] + }, + { + "id": "application-proxies", + "name": "Set Up Application Proxies", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/application-proxies", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/application-proxies", + "tags": ["node"] + }, + { + "id": "wait-for-tasks", + "name": "Wait for Tasks to Finish", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/wait-for-tasks", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/wait-for-tasks", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/recipes", + "tags": [] + }, + "/technologies/node/recipes/node-server-fly-io": { + "id": "node-server-fly-io", + "name": "Deploying a Node App to Fly.io", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-server-fly-io", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-server-fly-io", + "tags": ["deployment", "node"] + }, + "/technologies/node/recipes/node-serverless-functions-netlify": { + "id": "node-serverless-functions-netlify", + "name": "Add and Deploy Netlify Edge Functions with Node", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-serverless-functions-netlify", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-serverless-functions-netlify", + "tags": ["deployment", "node"] + }, + "/technologies/node/recipes/node-aws-lambda": { + "id": "node-aws-lambda", + "name": "Deploying AWS lambda in Node.js (deprecated)", + "description": "", + "mediaImage": "", + "file": "shared/recipes/deployment/node-aws-lambda", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/node-aws-lambda", + "tags": ["deployment", "node"] + }, + "/technologies/node/recipes/application-proxies": { + "id": "application-proxies", + "name": "Set Up Application Proxies", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/application-proxies", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/application-proxies", + "tags": ["node"] + }, + "/technologies/node/recipes/wait-for-tasks": { + "id": "wait-for-tasks", + "name": "Wait for Tasks to Finish", + "description": "", + "mediaImage": "", + "file": "shared/recipes/node/wait-for-tasks", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/recipes/wait-for-tasks", + "tags": [] + }, + "/technologies/node/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/node/node-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/api", + "tags": [] + }, + "/technologies/node/express": { + "id": "express", + "name": "Express", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/express", + "tags": [] + }, + "/technologies/node/express/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/introduction", + "tags": [] + }, + "/technologies/node/express/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/express/express-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/express/api", + "tags": [] + }, + "/technologies/node/nest": { + "id": "nest", + "name": "Nest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/node/nest", + "tags": [] + }, + "/technologies/node/nest/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/introduction", + "tags": [] + }, + "/technologies/node/nest/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/nest/nest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/node/nest/api", + "tags": [] + }, + "/technologies/java": { + "id": "java", + "name": "Java", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/introduction", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/java", + "tags": [] + }, + "/technologies/java/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/introduction", + "tags": [] + }, + "/technologies/java/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/gradle/gradle-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/java/api", + "tags": [] + }, + "/technologies/module-federation": { + "id": "module-federation", + "name": "Module Federation", + "description": "Advanced guides to utilize Module Federation with Nx.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/introduction", + "tags": [] + }, + { + "id": "concepts", + "name": "Concepts", + "description": "Understand more about Module Federation with NX", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/module-federation-and-nx", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/micro-frontend-architecture", + "tags": [] + }, + { + "id": "manage-library-versions-with-module-federation", + "name": "Manage Library Versions with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/manage-library-versions-with-module-federation", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/concepts", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "create-a-host", + "name": "How to create a Module Federation Host Application", + "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-host", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-host", + "tags": [] + }, + { + "id": "create-a-remote", + "name": "How to create a Module Federation Remote Application", + "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-remote", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-remote", + "tags": [] + }, + { + "id": "federate-a-module", + "name": "How to Federate a Module", + "description": "A guide on how to federate a module in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/federate-a-module", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/federate-a-module", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation", + "tags": [] + }, + "/technologies/module-federation/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/introduction", + "tags": [] + }, + "/technologies/module-federation/concepts": { + "id": "concepts", + "name": "Concepts", + "description": "Understand more about Module Federation with NX", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/module-federation-and-nx", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation", + "tags": ["module-federation", "angular", "react"] + }, + { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/micro-frontend-architecture", + "tags": [] + }, + { + "id": "manage-library-versions-with-module-federation", + "name": "Manage Library Versions with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/manage-library-versions-with-module-federation", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/concepts", + "tags": [] + }, + "/technologies/module-federation/concepts/module-federation-and-nx": { + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/module-federation-and-nx", + "tags": ["module-federation", "angular", "react"] + }, + "/technologies/module-federation/concepts/nx-module-federation-technical-overview": { + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview", + "tags": ["module-federation", "angular", "react"] + }, + "/technologies/module-federation/concepts/faster-builds-with-module-federation": { + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/faster-builds", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation", + "tags": ["module-federation", "angular", "react"] + }, + "/technologies/module-federation/concepts/micro-frontend-architecture": { + "id": "micro-frontend-architecture", + "name": "Micro Frontend Architecture", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/micro-frontend-architecture", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/micro-frontend-architecture", + "tags": [] + }, + "/technologies/module-federation/concepts/manage-library-versions-with-module-federation": { + "id": "manage-library-versions-with-module-federation", + "name": "Manage Library Versions with Module Federation", + "description": "", + "mediaImage": "", + "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/concepts/manage-library-versions-with-module-federation", + "tags": [] + }, + "/technologies/module-federation/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "create-a-host", + "name": "How to create a Module Federation Host Application", + "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-host", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-host", + "tags": [] + }, + { + "id": "create-a-remote", + "name": "How to create a Module Federation Remote Application", + "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-remote", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-remote", + "tags": [] + }, + { + "id": "federate-a-module", + "name": "How to Federate a Module", + "description": "A guide on how to federate a module in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/federate-a-module", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/federate-a-module", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/module-federation/recipes", + "tags": [] + }, + "/technologies/module-federation/recipes/create-a-host": { + "id": "create-a-host", + "name": "How to create a Module Federation Host Application", + "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-host", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-host", + "tags": [] + }, + "/technologies/module-federation/recipes/create-a-remote": { + "id": "create-a-remote", + "name": "How to create a Module Federation Remote Application", + "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/creating-a-remote", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/create-a-remote", + "tags": [] + }, + "/technologies/module-federation/recipes/federate-a-module": { + "id": "federate-a-module", + "name": "How to Federate a Module", + "description": "A guide on how to federate a module in your Nx workspace", + "mediaImage": "", + "file": "shared/recipes/module-federation/federate-a-module", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/recipes/federate-a-module", + "tags": [] + }, + "/technologies/module-federation/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/module-federation/nx-module-federation-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/module-federation/api", + "tags": [] + }, + "/technologies/eslint": { + "id": "eslint", + "name": "ESLint", + "description": "Guides and API references for ESLint in Nx.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "eslint", + "name": "Configuring ESLint with Typescript", + "description": "", + "mediaImage": "", + "file": "shared/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/eslint", + "tags": [] + }, + { + "id": "flat-config", + "name": "Switching to ESLint's flat config format", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/flat-config", + "tags": ["eslint", "flat config"] + } + ], + "isExternal": false, + "path": "/technologies/eslint/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/api", + "tags": [] + }, + { + "id": "eslint-plugin", + "name": "ESLint Plugin", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/eslint", + "tags": [] + }, + "/technologies/eslint/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/introduction", + "tags": [] + }, + "/technologies/eslint/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "eslint", + "name": "Configuring ESLint with Typescript", + "description": "", + "mediaImage": "", + "file": "shared/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/eslint", + "tags": [] + }, + { + "id": "flat-config", + "name": "Switching to ESLint's flat config format", + "description": "", + "mediaImage": "", + "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/flat-config", + "tags": ["eslint", "flat config"] + } + ], + "isExternal": false, + "path": "/technologies/eslint/recipes", + "tags": [] + }, + "/technologies/eslint/recipes/eslint": { + "id": "eslint", + "name": "Configuring ESLint with Typescript", + "description": "", + "mediaImage": "", + "file": "shared/eslint", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/recipes/eslint", + "tags": [] + }, + "/technologies/eslint/recipes/flat-config": { "id": "flat-config", "name": "Switching to ESLint's flat config format", "description": "", @@ -5773,9 +8363,2279 @@ "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", "itemList": [], "isExternal": false, - "path": "/recipes/tips-n-tricks/flat-config", + "path": "/technologies/eslint/recipes/flat-config", "tags": ["eslint", "flat config"] }, + "/technologies/eslint/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/api", + "tags": [] + }, + "/technologies/eslint/eslint-plugin": { + "id": "eslint-plugin", + "name": "ESLint Plugin", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin", + "tags": [] + }, + "/technologies/eslint/eslint-plugin/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/eslint/eslint-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/eslint/eslint-plugin/api", + "tags": [] + }, + "/technologies/build-tools": { + "id": "build-tools", + "name": "Build Tools", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack", + "name": "Webpack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "tags": [] + }, + { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-plugins", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack", + "tags": [] + }, + { + "id": "vite", + "name": "Vite", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "mediaImage": "", + "file": "shared/packages/vite/configure-vite", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite", + "tags": [] + }, + { + "id": "rollup", + "name": "Rollup", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rollup", + "tags": [] + }, + { + "id": "esbuild", + "name": "ESBuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/esbuild", + "tags": [] + }, + { + "id": "rspack", + "name": "Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rspack", + "tags": [] + }, + { + "id": "rsbuild", + "name": "Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools", + "tags": [] + }, + "/technologies/build-tools/webpack": { + "id": "webpack", + "name": "Webpack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "tags": [] + }, + { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-plugins", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack", + "tags": [] + }, + "/technologies/build-tools/webpack/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/introduction", + "tags": [] + }, + "/technologies/build-tools/webpack/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "tags": [] + }, + { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-plugins", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes", + "tags": [] + }, + "/technologies/build-tools/webpack/recipes/webpack-config-setup": { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-config-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-config-setup", + "tags": [] + }, + "/technologies/build-tools/webpack/recipes/webpack-plugins": { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "mediaImage": "", + "file": "shared/packages/webpack/webpack-plugins", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/recipes/webpack-plugins", + "tags": [] + }, + "/technologies/build-tools/webpack/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/webpack/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/webpack/api", + "tags": [] + }, + "/technologies/build-tools/vite": { + "id": "vite", + "name": "Vite", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "mediaImage": "", + "file": "shared/packages/vite/configure-vite", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite", + "tags": [] + }, + "/technologies/build-tools/vite/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/introduction", + "tags": [] + }, + "/technologies/build-tools/vite/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "mediaImage": "", + "file": "shared/packages/vite/configure-vite", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes", + "tags": [] + }, + "/technologies/build-tools/vite/recipes/configure-vite": { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "mediaImage": "", + "file": "shared/packages/vite/configure-vite", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/recipes/configure-vite", + "tags": [] + }, + "/technologies/build-tools/vite/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/vite/vite-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/vite/api", + "tags": [] + }, + "/technologies/build-tools/rollup": { + "id": "rollup", + "name": "Rollup", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rollup", + "tags": [] + }, + "/technologies/build-tools/rollup/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/introduction", + "tags": [] + }, + "/technologies/build-tools/rollup/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/recipes", + "tags": [] + }, + "/technologies/build-tools/rollup/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rollup/api", + "tags": [] + }, + "/technologies/build-tools/esbuild": { + "id": "esbuild", + "name": "ESBuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/esbuild", + "tags": [] + }, + "/technologies/build-tools/esbuild/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/introduction", + "tags": [] + }, + "/technologies/build-tools/esbuild/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/recipes", + "tags": [] + }, + "/technologies/build-tools/esbuild/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/esbuild/esbuild-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/esbuild/api", + "tags": [] + }, + "/technologies/build-tools/rspack": { + "id": "rspack", + "name": "Rspack", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rspack", + "tags": [] + }, + "/technologies/build-tools/rspack/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/introduction", + "tags": [] + }, + "/technologies/build-tools/rspack/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/recipes", + "tags": [] + }, + "/technologies/build-tools/rspack/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/rspack/rspack-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rspack/api", + "tags": [] + }, + "/technologies/build-tools/rsbuild": { + "id": "rsbuild", + "name": "Rsbuild", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild", + "tags": [] + }, + "/technologies/build-tools/rsbuild/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/introduction", + "tags": [] + }, + "/technologies/build-tools/rsbuild/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/recipes", + "tags": [] + }, + "/technologies/build-tools/rsbuild/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/build-tools/rsbuild/api", + "tags": [] + }, + "/technologies/test-tools": { + "id": "test-tools", + "name": "Test Tools", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress", + "name": "Cypress", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-component-testing", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "tags": [] + }, + { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-setup-node-events", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "tags": [] + }, + { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-v11-migration", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress", + "tags": [] + }, + { + "id": "jest", + "name": "Jest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/jest", + "tags": [] + }, + { + "id": "playwright", + "name": "Playwright", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/playwright", + "tags": [] + }, + { + "id": "storybook", + "name": "Storybook", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "tags": ["storybook"] + }, + { + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "tags": ["storybook"] + }, + { + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-vue", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "tags": ["storybook"] + }, + { + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/configuring-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "tags": ["storybook"] + }, + { + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-for-all", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "tags": ["storybook"] + }, + { + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "tags": ["storybook"] + }, + { + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "tags": ["storybook"] + }, + { + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "mediaImage": "", + "file": "shared/recipes/storybook/custom-builder-configs", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "tags": ["storybook"] + }, + { + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/interaction-tests", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "tags": ["storybook"] + }, + { + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "mediaImage": "", + "file": "shared/recipes/storybook/upgrading-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "tags": ["storybook"] + }, + { + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/storybook-composition-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "tags": ["storybook"] + }, + { + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "tags": ["storybook"] + }, + { + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-configuring-styles", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "tags": ["storybook"] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook", + "tags": [] + }, + { + "id": "detox", + "name": "Detox", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/detox", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools", + "tags": [] + }, + "/technologies/test-tools/cypress": { + "id": "cypress", + "name": "Cypress", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-component-testing", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "tags": [] + }, + { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-setup-node-events", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "tags": [] + }, + { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-v11-migration", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress", + "tags": [] + }, + "/technologies/test-tools/cypress/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/introduction", + "tags": [] + }, + "/technologies/test-tools/cypress/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-component-testing", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "tags": [] + }, + { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-setup-node-events", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "tags": [] + }, + { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-v11-migration", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes", + "tags": [] + }, + "/technologies/test-tools/cypress/recipes/cypress-component-testing": { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-component-testing", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-component-testing", + "tags": [] + }, + "/technologies/test-tools/cypress/recipes/cypress-setup-node-events": { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-setup-node-events", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-setup-node-events", + "tags": [] + }, + "/technologies/test-tools/cypress/recipes/cypress-v11-migration": { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-v11-migration", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/recipes/cypress-v11-migration", + "tags": [] + }, + "/technologies/test-tools/cypress/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/cypress/cypress-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/cypress/api", + "tags": [] + }, + "/technologies/test-tools/jest": { + "id": "jest", + "name": "Jest", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/jest", + "tags": [] + }, + "/technologies/test-tools/jest/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/introduction", + "tags": [] + }, + "/technologies/test-tools/jest/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/recipes", + "tags": [] + }, + "/technologies/test-tools/jest/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/jest/jest-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/jest/api", + "tags": [] + }, + "/technologies/test-tools/playwright": { + "id": "playwright", + "name": "Playwright", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/playwright", + "tags": [] + }, + "/technologies/test-tools/playwright/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/introduction", + "tags": [] + }, + "/technologies/test-tools/playwright/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/recipes", + "tags": [] + }, + "/technologies/test-tools/playwright/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/playwright/playwright-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/playwright/api", + "tags": [] + }, + "/technologies/test-tools/storybook": { + "id": "storybook", + "name": "Storybook", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "tags": ["storybook"] + }, + { + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "tags": ["storybook"] + }, + { + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-vue", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "tags": ["storybook"] + }, + { + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/configuring-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "tags": ["storybook"] + }, + { + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-for-all", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "tags": ["storybook"] + }, + { + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "tags": ["storybook"] + }, + { + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "tags": ["storybook"] + }, + { + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "mediaImage": "", + "file": "shared/recipes/storybook/custom-builder-configs", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "tags": ["storybook"] + }, + { + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/interaction-tests", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "tags": ["storybook"] + }, + { + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "mediaImage": "", + "file": "shared/recipes/storybook/upgrading-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "tags": ["storybook"] + }, + { + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/storybook-composition-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "tags": ["storybook"] + }, + { + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "tags": ["storybook"] + }, + { + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-configuring-styles", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "tags": ["storybook"] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook", + "tags": [] + }, + "/technologies/test-tools/storybook/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/introduction", + "tags": [] + }, + "/technologies/test-tools/storybook/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "tags": ["storybook"] + }, + { + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "tags": ["storybook"] + }, + { + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-vue", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "tags": ["storybook"] + }, + { + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/configuring-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "tags": ["storybook"] + }, + { + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-for-all", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "tags": ["storybook"] + }, + { + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "tags": ["storybook"] + }, + { + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "tags": ["storybook"] + }, + { + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "mediaImage": "", + "file": "shared/recipes/storybook/custom-builder-configs", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "tags": ["storybook"] + }, + { + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/interaction-tests", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "tags": ["storybook"] + }, + { + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "mediaImage": "", + "file": "shared/recipes/storybook/upgrading-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "tags": ["storybook"] + }, + { + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/storybook-composition-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "tags": ["storybook"] + }, + { + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "tags": ["storybook"] + }, + { + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-configuring-styles", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "tags": ["storybook"] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes", + "tags": [] + }, + "/technologies/test-tools/storybook/recipes/overview-react": { + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-react", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-react", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/overview-angular": { + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-angular", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-angular", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/overview-vue": { + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/plugin-vue", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/overview-vue", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/configuring-storybook": { + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/configuring-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/one-storybook-for-all": { + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-for-all", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/one-storybook-per-scope": { + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/one-storybook-with-composition": { + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "mediaImage": "", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/custom-builder-configs": { + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "mediaImage": "", + "file": "shared/recipes/storybook/custom-builder-configs", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/storybook-interaction-tests": { + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/interaction-tests", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/upgrading-storybook": { + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "mediaImage": "", + "file": "shared/recipes/storybook/upgrading-storybook", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/storybook-composition-setup": { + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/storybook-composition-setup", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc": { + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/recipes/angular-configuring-styles": { + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "mediaImage": "", + "file": "shared/recipes/storybook/angular-configuring-styles", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles", + "tags": ["storybook"] + }, + "/technologies/test-tools/storybook/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/storybook/plugin-overview", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/storybook/api", + "tags": [] + }, + "/technologies/test-tools/detox": { + "id": "detox", + "name": "Detox", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/introduction", + "tags": [] + }, + { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/recipes", + "tags": [] + }, + { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/api", + "tags": [] + } + ], + "isExternal": false, + "path": "/technologies/test-tools/detox", + "tags": [] + }, + "/technologies/test-tools/detox/introduction": { + "id": "introduction", + "name": "Introduction", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/introduction", + "tags": [] + }, + "/technologies/test-tools/detox/recipes": { + "id": "recipes", + "name": "Guides", + "description": "", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/recipes", + "tags": [] + }, + "/technologies/test-tools/detox/api": { + "id": "api", + "name": "API", + "description": "", + "mediaImage": "", + "file": "shared/packages/detox/detox-plugin", + "itemList": [], + "isExternal": false, + "path": "/technologies/test-tools/detox/api", + "tags": [] + }, "/nx-enterprise": { "id": "nx-enterprise", "name": "Enterprise", @@ -6714,6 +11574,233 @@ "isExternal": false, "path": "/reference/releases", "tags": [] + }, + { + "id": "core-api", + "name": "API", + "description": "API references for Nx Workspace", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "nx", + "name": "nx", + "description": "Nx package", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx", + "tags": [] + }, + { + "id": "workspace", + "name": "workspace", + "description": "Workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/workspace", + "tags": [] + }, + { + "id": "owners", + "name": "owners", + "description": "powerpack-owners package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/owners/owners-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/owners/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/owners", + "tags": [] + }, + { + "id": "conformance", + "name": "conformance", + "description": "powerpack-conformance package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/conformance-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/overview", + "tags": [] + }, + { + "id": "create-conformance-rule", + "name": "Create a Conformance Rule", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/create-conformance-rule", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/create-conformance-rule", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/conformance", + "tags": [] + }, + { + "id": "azure-cache", + "name": "azure-cache", + "description": "powerpack-azure-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/azure-cache/azure-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/azure-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/azure-cache", + "tags": [] + }, + { + "id": "gcs-cache", + "name": "gcs-cache", + "description": "powerpack-gcs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/gcs-cache/gcs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/gcs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/gcs-cache", + "tags": [] + }, + { + "id": "s3-cache", + "name": "s3-cache", + "description": "powerpack-s3-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/s3-cache/s3-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/s3-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/s3-cache", + "tags": [] + }, + { + "id": "shared-fs-cache", + "name": "shared-fs-cache", + "description": "powerpack-shared-fs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/shared-fs-cache/shared-fs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache", + "tags": [] + }, + { + "id": "devkit", + "name": "devkit", + "description": "Devkit package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/devkit", + "tags": [] + }, + { + "id": "plugin", + "name": "plugin", + "description": "Plugin package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/plugin", + "tags": [] + }, + { + "id": "web", + "name": "web", + "description": "Web package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/web", + "tags": [] + }, + { + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "description": "create-nx-workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/create-nx-workspace", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api", + "tags": [] } ], "isExternal": false, @@ -6808,6 +11895,525 @@ "path": "/reference/releases", "tags": [] }, + "/reference/core-api": { + "id": "core-api", + "name": "API", + "description": "API references for Nx Workspace", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "nx", + "name": "nx", + "description": "Nx package", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx", + "tags": [] + }, + { + "id": "workspace", + "name": "workspace", + "description": "Workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/workspace", + "tags": [] + }, + { + "id": "owners", + "name": "owners", + "description": "powerpack-owners package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/owners/owners-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/owners/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/owners", + "tags": [] + }, + { + "id": "conformance", + "name": "conformance", + "description": "powerpack-conformance package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/conformance-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/overview", + "tags": [] + }, + { + "id": "create-conformance-rule", + "name": "Create a Conformance Rule", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/create-conformance-rule", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/create-conformance-rule", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/conformance", + "tags": [] + }, + { + "id": "azure-cache", + "name": "azure-cache", + "description": "powerpack-azure-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/azure-cache/azure-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/azure-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/azure-cache", + "tags": [] + }, + { + "id": "gcs-cache", + "name": "gcs-cache", + "description": "powerpack-gcs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/gcs-cache/gcs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/gcs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/gcs-cache", + "tags": [] + }, + { + "id": "s3-cache", + "name": "s3-cache", + "description": "powerpack-s3-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/s3-cache/s3-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/s3-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/s3-cache", + "tags": [] + }, + { + "id": "shared-fs-cache", + "name": "shared-fs-cache", + "description": "powerpack-shared-fs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/shared-fs-cache/shared-fs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache", + "tags": [] + }, + { + "id": "devkit", + "name": "devkit", + "description": "Devkit package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/devkit", + "tags": [] + }, + { + "id": "plugin", + "name": "plugin", + "description": "Plugin package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/plugin", + "tags": [] + }, + { + "id": "web", + "name": "web", + "description": "Web package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/web", + "tags": [] + }, + { + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "description": "create-nx-workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/create-nx-workspace", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api", + "tags": [] + }, + "/reference/core-api/nx": { + "id": "nx", + "name": "nx", + "description": "Nx package", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/nx", + "tags": [] + }, + "/reference/core-api/workspace": { + "id": "workspace", + "name": "workspace", + "description": "Workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/workspace", + "tags": [] + }, + "/reference/core-api/owners": { + "id": "owners", + "name": "owners", + "description": "powerpack-owners package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/owners/owners-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/owners/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/owners", + "tags": [] + }, + "/reference/core-api/owners/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/owners/owners-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/owners/overview", + "tags": [] + }, + "/reference/core-api/conformance": { + "id": "conformance", + "name": "conformance", + "description": "powerpack-conformance package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/conformance-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/overview", + "tags": [] + }, + { + "id": "create-conformance-rule", + "name": "Create a Conformance Rule", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/create-conformance-rule", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/create-conformance-rule", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/conformance", + "tags": [] + }, + "/reference/core-api/conformance/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/conformance-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/overview", + "tags": [] + }, + "/reference/core-api/conformance/create-conformance-rule": { + "id": "create-conformance-rule", + "name": "Create a Conformance Rule", + "description": "", + "mediaImage": "", + "file": "shared/packages/conformance/create-conformance-rule", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/conformance/create-conformance-rule", + "tags": [] + }, + "/reference/core-api/azure-cache": { + "id": "azure-cache", + "name": "azure-cache", + "description": "powerpack-azure-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/azure-cache/azure-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/azure-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/azure-cache", + "tags": [] + }, + "/reference/core-api/azure-cache/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/azure-cache/azure-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/azure-cache/overview", + "tags": [] + }, + "/reference/core-api/gcs-cache": { + "id": "gcs-cache", + "name": "gcs-cache", + "description": "powerpack-gcs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/gcs-cache/gcs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/gcs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/gcs-cache", + "tags": [] + }, + "/reference/core-api/gcs-cache/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/gcs-cache/gcs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/gcs-cache/overview", + "tags": [] + }, + "/reference/core-api/s3-cache": { + "id": "s3-cache", + "name": "s3-cache", + "description": "powerpack-s3-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/s3-cache/s3-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/s3-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/s3-cache", + "tags": [] + }, + "/reference/core-api/s3-cache/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/s3-cache/s3-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/s3-cache/overview", + "tags": [] + }, + "/reference/core-api/shared-fs-cache": { + "id": "shared-fs-cache", + "name": "shared-fs-cache", + "description": "powerpack-shared-fs-cache package.", + "mediaImage": "", + "file": "", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/shared-fs-cache/shared-fs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache/overview", + "tags": [] + } + ], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache", + "tags": [] + }, + "/reference/core-api/shared-fs-cache/overview": { + "id": "overview", + "name": "Overview", + "description": "", + "mediaImage": "", + "file": "shared/packages/shared-fs-cache/shared-fs-cache-plugin", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/shared-fs-cache/overview", + "tags": [] + }, + "/reference/core-api/devkit": { + "id": "devkit", + "name": "devkit", + "description": "Devkit package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/devkit", + "tags": [] + }, + "/reference/core-api/plugin": { + "id": "plugin", + "name": "plugin", + "description": "Plugin package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/plugin", + "tags": [] + }, + "/reference/core-api/web": { + "id": "web", + "name": "web", + "description": "Web package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/web", + "tags": [] + }, + "/reference/core-api/create-nx-workspace": { + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "description": "create-nx-workspace package.", + "mediaImage": "", + "file": "", + "itemList": [], + "isExternal": false, + "path": "/reference/core-api/create-nx-workspace", + "tags": [] + }, "/troubleshooting": { "id": "troubleshooting", "name": "Troubleshooting", diff --git a/docs/generated/manifests/tags.json b/docs/generated/manifests/tags.json index b4a21c2c5b..187b53f175 100644 --- a/docs/generated/manifests/tags.json +++ b/docs/generated/manifests/tags.json @@ -1,10 +1,10 @@ { "editor-setup": [ { - "description": "Learn about Nx Console, an extension for VS Code and WebStorm.", + "description": "Learn about Nx Console, an extension for VS Code and WebStorm. (formerly Editor Setup)", "file": "shared/getting-started/editor-setup", "id": "editor-setup", - "name": "Editor Setup", + "name": "Editor Integration", "path": "/getting-started/editor-setup" }, { @@ -58,27 +58,6 @@ "name": "Run Tasks", "path": "/features/run-tasks" }, - { - "description": "", - "file": "shared/concepts/task-pipeline-configuration", - "id": "task-pipeline-configuration", - "name": "What is a Task Pipeline", - "path": "/concepts/task-pipeline-configuration" - }, - { - "description": "", - "file": "shared/concepts/executors-and-configurations", - "id": "executors-and-configurations", - "name": "Executors and Configurations", - "path": "/concepts/executors-and-configurations" - }, - { - "description": "", - "file": "shared/concepts/common-tasks", - "id": "common-tasks", - "name": "Common Tasks", - "path": "/concepts/common-tasks" - }, { "description": "", "file": "shared/recipes/running-tasks/configure-inputs", @@ -142,6 +121,27 @@ "name": "Workspace Watching", "path": "/recipes/running-tasks/workspace-watching" }, + { + "description": "", + "file": "shared/concepts/task-pipeline-configuration", + "id": "task-pipeline-configuration", + "name": "What is a Task Pipeline", + "path": "/concepts/task-pipeline-configuration" + }, + { + "description": "", + "file": "shared/concepts/executors-and-configurations", + "id": "executors-and-configurations", + "name": "Executors and Configurations", + "path": "/concepts/executors-and-configurations" + }, + { + "description": "", + "file": "shared/concepts/common-tasks", + "id": "common-tasks", + "name": "Common Tasks", + "path": "/concepts/common-tasks" + }, { "description": "This allows to only run tasks on projects that got changed in a given PR.", "file": "shared/using-nx/affected", @@ -169,6 +169,27 @@ "id": "affected", "name": "affected", "path": "/nx-api/nx/documents/affected" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/run", + "id": "run", + "name": "run", + "path": "/reference/core-api/nx/documents/run" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/run-many", + "id": "run-many", + "name": "run-many", + "path": "/reference/core-api/nx/documents/run-many" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/affected", + "id": "affected", + "name": "affected", + "path": "/reference/core-api/nx/documents/affected" } ], "cache-task-results": [ @@ -186,13 +207,6 @@ "name": "Cache Task Results", "path": "/features/cache-task-results" }, - { - "description": "", - "file": "shared/concepts/how-caching-works", - "id": "how-caching-works", - "name": "How Caching Works", - "path": "/concepts/how-caching-works" - }, { "description": "", "file": "shared/recipes/running-tasks/configure-inputs", @@ -207,6 +221,13 @@ "name": "Configure Outputs for Task Caching", "path": "/recipes/running-tasks/configure-outputs" }, + { + "description": "", + "file": "shared/concepts/how-caching-works", + "id": "how-caching-works", + "name": "How Caching Works", + "path": "/concepts/how-caching-works" + }, { "description": "", "file": "shared/reference/inputs", @@ -269,6 +290,20 @@ "id": "reset", "name": "reset", "path": "/nx-api/nx/documents/reset" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/connect-to-nx-cloud", + "id": "connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "path": "/reference/core-api/nx/documents/connect-to-nx-cloud" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/reset", + "id": "reset", + "name": "reset", + "path": "/reference/core-api/nx/documents/reset" } ], "AI": [ @@ -322,6 +357,20 @@ "id": "show", "name": "show", "path": "/nx-api/nx/documents/show" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/dep-graph", + "id": "dep-graph", + "name": "graph", + "path": "/reference/core-api/nx/documents/dep-graph" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/show", + "id": "show", + "name": "show", + "path": "/reference/core-api/nx/documents/show" } ], "generate-code": [ @@ -394,6 +443,13 @@ "id": "generate", "name": "generate", "path": "/nx-api/nx/documents/generate" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/generate", + "id": "generate", + "name": "generate", + "path": "/reference/core-api/nx/documents/generate" } ], "inferred-tasks": [ @@ -404,6 +460,13 @@ "name": "Maintain TypeScript Monorepos", "path": "/features/maintain-ts-monorepos" }, + { + "description": "", + "file": "shared/recipes/running-tasks/convert-to-inferred", + "id": "convert-to-inferred", + "name": "Migrate to Inferred Tasks (Project Crystal)", + "path": "/recipes/running-tasks/convert-to-inferred" + }, { "description": "", "file": "shared/concepts/mental-model", @@ -425,13 +488,6 @@ "name": "Inferred Tasks", "path": "/concepts/inferred-tasks" }, - { - "description": "", - "file": "shared/recipes/running-tasks/convert-to-inferred", - "id": "convert-to-inferred", - "name": "Migrate to Inferred Tasks (Project Crystal)", - "path": "/recipes/running-tasks/convert-to-inferred" - }, { "description": "", "file": "shared/recipes/plugins/project-graph-plugins", @@ -460,7 +516,7 @@ "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references", "id": "switch-to-workspaces-project-references", "name": "Switch to Workspaces and TS Project References", - "path": "/recipes/tips-n-tricks/switch-to-workspaces-project-references" + "path": "/technologies/typescript/recipes/switch-to-workspaces-project-references" } ], "sync": [ @@ -498,6 +554,20 @@ "id": "sync-check", "name": "sync:check", "path": "/nx-api/nx/documents/sync-check" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/sync", + "id": "sync", + "name": "sync", + "path": "/reference/core-api/nx/documents/sync" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/sync-check", + "id": "sync-check", + "name": "sync:check", + "path": "/reference/core-api/nx/documents/sync-check" } ], "automate-updating-dependencies": [ @@ -535,6 +605,13 @@ "id": "migrate", "name": "migrate", "path": "/nx-api/nx/documents/migrate" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/migrate", + "id": "migrate", + "name": "migrate", + "path": "/reference/core-api/nx/documents/migrate" } ], "enforce-module-boundaries": [ @@ -545,27 +622,6 @@ "name": "Enforce Module Boundaries", "path": "/features/enforce-module-boundaries" }, - { - "description": "", - "file": "shared/concepts/decisions/project-size", - "id": "project-size", - "name": "Project Size", - "path": "/concepts/decisions/project-size" - }, - { - "description": "", - "file": "shared/concepts/decisions/project-dependency-rules", - "id": "project-dependency-rules", - "name": "Project Dependency Rules", - "path": "/concepts/decisions/project-dependency-rules" - }, - { - "description": "", - "file": "shared/concepts/decisions/folder-structure", - "id": "folder-structure", - "name": "Folder Structure", - "path": "/concepts/decisions/folder-structure" - }, { "description": "", "file": "shared/recipes/ban-dependencies-with-tags", @@ -594,6 +650,27 @@ "name": "Tags Allow List", "path": "/recipes/enforce-module-boundaries/tags-allow-list" }, + { + "description": "", + "file": "shared/concepts/decisions/project-size", + "id": "project-size", + "name": "Project Size", + "path": "/concepts/decisions/project-size" + }, + { + "description": "", + "file": "shared/concepts/decisions/project-dependency-rules", + "id": "project-dependency-rules", + "name": "Project Dependency Rules", + "path": "/concepts/decisions/project-dependency-rules" + }, + { + "description": "", + "file": "shared/concepts/decisions/folder-structure", + "id": "folder-structure", + "name": "Folder Structure", + "path": "/concepts/decisions/folder-structure" + }, { "description": "", "file": "shared/reference/nxignore", @@ -614,6 +691,20 @@ "id": "format-write", "name": "format:write", "path": "/nx-api/nx/documents/format-write" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/format-check", + "id": "format-check", + "name": "format:check", + "path": "/reference/core-api/nx/documents/format-check" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/format-write", + "id": "format-write", + "name": "format:write", + "path": "/reference/core-api/nx/documents/format-write" } ], "nx-release": [ @@ -735,6 +826,259 @@ "id": "release", "name": "release", "path": "/nx-api/nx/documents/release" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/release", + "id": "release", + "name": "release", + "path": "/reference/core-api/nx/documents/release" + } + ], + "installation": [ + { + "description": "", + "file": "shared/recipes/installation/install-non-javascript", + "id": "install-non-javascript", + "name": "Install Nx in a Non-Javascript Repo", + "path": "/recipes/installation/install-non-javascript" + }, + { + "description": "", + "file": "shared/recipes/installation/update-global-installation", + "id": "update-global-installation", + "name": "Update Your Global Nx Installation", + "path": "/recipes/installation/update-global-installation" + }, + { + "description": "", + "file": "shared/recipes/installation/activate-powerpack", + "id": "activate-powerpack", + "name": "Activate Powerpack", + "path": "/nx-enterprise/activate-powerpack" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/create-nx-workspace", + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "path": "/nx-api/nx/documents/create-nx-workspace" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/create-nx-workspace", + "id": "create-nx-workspace", + "name": "create-nx-workspace", + "path": "/reference/core-api/nx/documents/create-nx-workspace" + } + ], + "terminal-ui": [ + { + "description": "", + "file": "shared/recipes/running-tasks/terminal-ui", + "id": "terminal-ui", + "name": "Use the Terminal UI", + "path": "/recipes/running-tasks/terminal-ui" + } + ], + "exec": [ + { + "description": "", + "file": "shared/recipes/running-tasks/root-level-scripts", + "id": "root-level-scripts", + "name": "Run Root-Level NPM Scripts with Nx", + "path": "/recipes/running-tasks/root-level-scripts" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/exec", + "id": "exec", + "name": "exec", + "path": "/nx-api/nx/documents/exec" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/exec", + "id": "exec", + "name": "exec", + "path": "/reference/core-api/nx/documents/exec" + } + ], + "workspace-watching": [ + { + "description": "", + "file": "shared/recipes/running-tasks/workspace-watching", + "id": "workspace-watching", + "name": "Workspace Watching", + "path": "/recipes/running-tasks/workspace-watching" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/watch", + "id": "watch", + "name": "watch", + "path": "/nx-api/nx/documents/watch" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/watch", + "id": "watch", + "name": "watch", + "path": "/reference/core-api/nx/documents/watch" + } + ], + "self-hosted-caching": [ + { + "description": "Host the remote cache without using Nx Cloud", + "file": "shared/recipes/running-tasks/self-hosted-caching", + "id": "self-hosted-caching", + "name": "Self-Host the Remote Cache", + "path": "/recipes/running-tasks/self-hosted-caching" + } + ], + "init": [ + { + "description": "", + "file": "shared/migration/adding-to-monorepo", + "id": "adding-to-monorepo", + "name": "NPM/Yarn/PNPM workspaces", + "path": "/recipes/adopting-nx/adding-to-monorepo" + }, + { + "description": "", + "file": "shared/migration/adding-to-existing-project", + "id": "adding-to-existing-project", + "name": "Add to any Project", + "path": "/recipes/adopting-nx/adding-to-existing-project" + }, + { + "description": "", + "file": "shared/migration/migration-angular", + "id": "angular", + "name": "Migrating from Angular CLI", + "path": "/technologies/angular/migration/angular" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/init", + "id": "init", + "name": "init", + "path": "/nx-api/nx/documents/init" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/init", + "id": "init", + "name": "init", + "path": "/reference/core-api/nx/documents/init" + } + ], + "import": [ + { + "description": "", + "file": "shared/migration/import-project", + "id": "import-project", + "name": "Import an Existing Project into an Nx Workspace", + "path": "/recipes/adopting-nx/import-project" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/import", + "id": "import", + "name": "import", + "path": "/nx-api/nx/documents/import" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/import", + "id": "import", + "name": "import", + "path": "/reference/core-api/nx/documents/import" + } + ], + "add": [ + { + "description": "", + "file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync", + "id": "keep-nx-versions-in-sync", + "name": "Keep Nx Versions in Sync", + "path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync" + }, + { + "description": "", + "file": "shared/concepts/nx-plugins", + "id": "nx-plugins", + "name": "What Are Nx Plugins", + "path": "/concepts/nx-plugins" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/add", + "id": "add", + "name": "add", + "path": "/nx-api/nx/documents/add" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/add", + "id": "add", + "name": "add", + "path": "/reference/core-api/nx/documents/add" + } + ], + "environment-variables": [ + { + "description": "", + "file": "shared/guides/define-environment-variables", + "id": "define-environment-variables", + "name": "Define Environment Variables", + "path": "/recipes/tips-n-tricks/define-environment-variables" + }, + { + "description": "", + "file": "shared/guides/use-environment-variables-in-angular", + "id": "use-environment-variables-in-angular", + "name": "Use Environment Variables in Angular", + "path": "/technologies/angular/recipes/use-environment-variables-in-angular" + }, + { + "description": "", + "file": "shared/guides/use-environment-variables-in-react", + "id": "use-environment-variables-in-react", + "name": "Use Environment Variables in React", + "path": "/technologies/react/recipes/use-environment-variables-in-react" + }, + { + "description": "", + "file": "shared/reference/environment-variables", + "id": "environment-variables", + "name": "Environment Variables", + "path": "/reference/environment-variables" + }, + { + "description": "", + "file": "shared/guides/performance-profiling", + "id": "performance-profiling", + "name": "Profiling Build Performance", + "path": "/troubleshooting/performance-profiling" + } + ], + "yarn": [ + { + "description": "", + "file": "shared/recipes/yarn-pnp", + "id": "yarn-pnp", + "name": "Using Yarn PnP", + "path": "/recipes/tips-n-tricks/yarn-pnp" + } + ], + "Plug and Play": [ + { + "description": "", + "file": "shared/recipes/yarn-pnp", + "id": "yarn-pnp", + "name": "Using Yarn PnP", + "path": "/recipes/tips-n-tricks/yarn-pnp" } ], "intro": [ @@ -746,29 +1090,6 @@ "path": "/concepts/mental-model" } ], - "add": [ - { - "description": "", - "file": "shared/concepts/nx-plugins", - "id": "nx-plugins", - "name": "What Are Nx Plugins", - "path": "/concepts/nx-plugins" - }, - { - "description": "", - "file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync", - "id": "keep-nx-versions-in-sync", - "name": "Keep Nx Versions in Sync", - "path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/add", - "id": "add", - "name": "add", - "path": "/nx-api/nx/documents/add" - } - ], "create-your-own-plugin": [ { "description": "", @@ -818,6 +1139,13 @@ "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": [ @@ -834,296 +1162,101 @@ "id": "daemon", "name": "daemon", "path": "/nx-api/nx/documents/daemon" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/daemon", + "id": "daemon", + "name": "daemon", + "path": "/reference/core-api/nx/documents/daemon" } ], "module-federation": [ - { - "description": "", - "file": "shared/concepts/module-federation/module-federation-and-nx", - "id": "module-federation-and-nx", - "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx" - }, - { - "description": "", - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", - "id": "nx-module-federation-technical-overview", - "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview" - }, - { - "description": "", - "file": "shared/concepts/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" + "path": "/technologies/angular/recipes/module-federation-with-ssr" }, { "description": "", "file": "shared/recipes/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" + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular" + }, + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "path": "/technologies/react/recipes/module-federation-with-ssr" + }, + { + "description": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "path": "/technologies/module-federation/concepts/module-federation-and-nx" + }, + { + "description": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview" + }, + { + "description": "", + "file": "shared/concepts/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation" } ], "angular": [ - { - "description": "", - "file": "shared/concepts/module-federation/module-federation-and-nx", - "id": "module-federation-and-nx", - "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx" - }, - { - "description": "", - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", - "id": "nx-module-federation-technical-overview", - "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview" - }, - { - "description": "", - "file": "shared/concepts/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/guides/angular-rspack/getting-started", - "id": "getting-started", - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started" - }, { "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" + "path": "/technologies/angular/recipes/module-federation-with-ssr" }, { "description": "", "file": "shared/recipes/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": [ + "path": "/technologies/angular/recipes/dynamic-module-federation-with-angular" + }, + { + "description": "", + "file": "shared/guides/angular-rspack/getting-started", + "id": "getting-started", + "name": "Getting Started with Angular and Rspack", + "path": "/technologies/angular/angular-rspack/recipes/getting-started" + }, { "description": "", "file": "shared/concepts/module-federation/module-federation-and-nx", "id": "module-federation-and-nx", "name": "Module Federation and Nx", - "path": "/concepts/module-federation/module-federation-and-nx" + "path": "/technologies/module-federation/concepts/module-federation-and-nx" }, { "description": "", "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", "id": "nx-module-federation-technical-overview", "name": "Nx Module Federation Technical Overview", - "path": "/concepts/module-federation/nx-module-federation-technical-overview" + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview" }, { "description": "", "file": "shared/concepts/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" - } - ], - "installation": [ - { - "description": "", - "file": "shared/recipes/installation/install-non-javascript", - "id": "install-non-javascript", - "name": "Install Nx in a Non-Javascript Repo", - "path": "/recipes/installation/install-non-javascript" - }, - { - "description": "", - "file": "shared/recipes/installation/update-global-installation", - "id": "update-global-installation", - "name": "Update Your Global Nx Installation", - "path": "/recipes/installation/update-global-installation" - }, - { - "description": "", - "file": "shared/recipes/installation/activate-powerpack", - "id": "activate-powerpack", - "name": "Activate Powerpack", - "path": "/nx-enterprise/activate-powerpack" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/create-nx-workspace", - "id": "create-nx-workspace", - "name": "create-nx-workspace", - "path": "/nx-api/nx/documents/create-nx-workspace" - } - ], - "terminal-ui": [ - { - "description": "", - "file": "shared/recipes/running-tasks/terminal-ui", - "id": "terminal-ui", - "name": "Use the Terminal UI", - "path": "/recipes/running-tasks/terminal-ui" - } - ], - "exec": [ - { - "description": "", - "file": "shared/recipes/running-tasks/root-level-scripts", - "id": "root-level-scripts", - "name": "Run Root-Level NPM Scripts with Nx", - "path": "/recipes/running-tasks/root-level-scripts" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/exec", - "id": "exec", - "name": "exec", - "path": "/nx-api/nx/documents/exec" - } - ], - "workspace-watching": [ - { - "description": "", - "file": "shared/recipes/running-tasks/workspace-watching", - "id": "workspace-watching", - "name": "Workspace Watching", - "path": "/recipes/running-tasks/workspace-watching" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/watch", - "id": "watch", - "name": "watch", - "path": "/nx-api/nx/documents/watch" - } - ], - "self-hosted-caching": [ - { - "description": "Host the remote cache without using Nx Cloud", - "file": "shared/recipes/running-tasks/self-hosted-caching", - "id": "self-hosted-caching", - "name": "Self-Host the Remote Cache", - "path": "/recipes/running-tasks/self-hosted-caching" - } - ], - "init": [ - { - "description": "", - "file": "shared/migration/adding-to-monorepo", - "id": "adding-to-monorepo", - "name": "NPM/Yarn/PNPM workspaces", - "path": "/recipes/adopting-nx/adding-to-monorepo" - }, - { - "description": "", - "file": "shared/migration/adding-to-existing-project", - "id": "adding-to-existing-project", - "name": "Add to any Project", - "path": "/recipes/adopting-nx/adding-to-existing-project" - }, - { - "description": "", - "file": "shared/migration/migration-angular", - "id": "angular", - "name": "Migrating from Angular CLI", - "path": "/recipes/angular/migration/angular" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/init", - "id": "init", - "name": "init", - "path": "/nx-api/nx/documents/init" - } - ], - "import": [ - { - "description": "", - "file": "shared/migration/import-project", - "id": "import-project", - "name": "Import an Existing Project into an Nx Workspace", - "path": "/recipes/adopting-nx/import-project" - }, - { - "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", - "file": "generated/packages/nx/documents/import", - "id": "import", - "name": "import", - "path": "/nx-api/nx/documents/import" - } - ], - "environment-variables": [ - { - "description": "", - "file": "shared/guides/use-environment-variables-in-react", - "id": "use-environment-variables-in-react", - "name": "Use Environment Variables in React", - "path": "/recipes/react/use-environment-variables-in-react" - }, - { - "description": "", - "file": "shared/guides/use-environment-variables-in-angular", - "id": "use-environment-variables-in-angular", - "name": "Use Environment Variables in Angular", - "path": "/recipes/angular/use-environment-variables-in-angular" - }, - { - "description": "", - "file": "shared/guides/define-environment-variables", - "id": "define-environment-variables", - "name": "Define Environment Variables", - "path": "/recipes/tips-n-tricks/define-environment-variables" - }, - { - "description": "", - "file": "shared/reference/environment-variables", - "id": "environment-variables", - "name": "Environment Variables", - "path": "/reference/environment-variables" - }, - { - "description": "", - "file": "shared/guides/performance-profiling", - "id": "performance-profiling", - "name": "Profiling Build Performance", - "path": "/troubleshooting/performance-profiling" - } - ], - "introduction": [ - { - "description": "", - "file": "shared/guides/angular-rspack/introduction", - "id": "introduction", - "name": "Introduction", - "path": "/recipes/angular/rspack/introduction" + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation" } ], "getting-started": [ @@ -1131,8 +1264,8 @@ "description": "", "file": "shared/guides/angular-rspack/getting-started", "id": "getting-started", - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started" + "name": "Getting Started with Angular and Rspack", + "path": "/technologies/angular/angular-rspack/recipes/getting-started" } ], "rspack": [ @@ -1140,8 +1273,8 @@ "description": "", "file": "shared/guides/angular-rspack/getting-started", "id": "getting-started", - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started" + "name": "Getting Started with Angular and Rspack", + "path": "/technologies/angular/angular-rspack/recipes/getting-started" } ], "setup": [ @@ -1149,8 +1282,8 @@ "description": "", "file": "shared/guides/angular-rspack/getting-started", "id": "getting-started", - "name": "Getting Started", - "path": "/recipes/angular/rspack/getting-started" + "name": "Getting Started with Angular and Rspack", + "path": "/technologies/angular/angular-rspack/recipes/getting-started" } ], "migrate-from-webpack": [ @@ -1159,7 +1292,7 @@ "file": "shared/guides/angular-rspack/migrate-from-webpack", "id": "migrate-from-webpack", "name": "Migrate from Angular Webpack", - "path": "/recipes/angular/rspack/migrate-from-webpack" + "path": "/technologies/angular/angular-rspack/recipes/migrate-from-webpack" } ], "handling-configurations": [ @@ -1168,7 +1301,7 @@ "file": "shared/guides/angular-rspack/handling-configurations", "id": "handling-configurations", "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations" + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations" } ], "configurations": [ @@ -1177,7 +1310,7 @@ "file": "shared/guides/angular-rspack/handling-configurations", "id": "handling-configurations", "name": "Handling Configurations", - "path": "/recipes/angular/rspack/handling-configurations" + "path": "/technologies/angular/angular-rspack/recipes/handling-configurations" } ], "internationalization": [ @@ -1186,7 +1319,7 @@ "file": "shared/guides/angular-rspack/internationalization", "id": "internationalization", "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization" + "path": "/technologies/angular/angular-rspack/recipes/internationalization" } ], "i18n": [ @@ -1195,7 +1328,37 @@ "file": "shared/guides/angular-rspack/internationalization", "id": "internationalization", "name": "Internationalization (i18n)", - "path": "/recipes/angular/rspack/internationalization" + "path": "/technologies/angular/angular-rspack/recipes/internationalization" + } + ], + "react": [ + { + "description": "", + "file": "shared/recipes/module-federation-with-ssr", + "id": "module-federation-with-ssr", + "name": "Setup Module Federation with SSR for React", + "path": "/technologies/react/recipes/module-federation-with-ssr" + }, + { + "description": "", + "file": "shared/concepts/module-federation/module-federation-and-nx", + "id": "module-federation-and-nx", + "name": "Module Federation and Nx", + "path": "/technologies/module-federation/concepts/module-federation-and-nx" + }, + { + "description": "", + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview", + "id": "nx-module-federation-technical-overview", + "name": "Nx Module Federation Technical Overview", + "path": "/technologies/module-federation/concepts/nx-module-federation-technical-overview" + }, + { + "description": "", + "file": "shared/concepts/module-federation/faster-builds", + "id": "faster-builds-with-module-federation", + "name": "Faster Builds with Module Federation", + "path": "/technologies/module-federation/concepts/faster-builds-with-module-federation" } ], "deployment": [ @@ -1204,21 +1367,21 @@ "file": "shared/recipes/deployment/node-server-fly-io", "id": "node-server-fly-io", "name": "Deploying a Node App to Fly.io", - "path": "/recipes/node/node-server-fly-io" + "path": "/technologies/node/recipes/node-server-fly-io" }, { "description": "", "file": "shared/recipes/deployment/node-serverless-functions-netlify", "id": "node-serverless-functions-netlify", "name": "Add and Deploy Netlify Edge Functions with Node", - "path": "/recipes/node/node-serverless-functions-netlify" + "path": "/technologies/node/recipes/node-serverless-functions-netlify" }, { "description": "", "file": "shared/recipes/deployment/node-aws-lambda", "id": "node-aws-lambda", "name": "Deploying AWS lambda in Node.js (deprecated)", - "path": "/recipes/node/node-aws-lambda" + "path": "/technologies/node/recipes/node-aws-lambda" } ], "node": [ @@ -1227,28 +1390,28 @@ "file": "shared/recipes/deployment/node-server-fly-io", "id": "node-server-fly-io", "name": "Deploying a Node App to Fly.io", - "path": "/recipes/node/node-server-fly-io" + "path": "/technologies/node/recipes/node-server-fly-io" }, { "description": "", "file": "shared/recipes/deployment/node-serverless-functions-netlify", "id": "node-serverless-functions-netlify", "name": "Add and Deploy Netlify Edge Functions with Node", - "path": "/recipes/node/node-serverless-functions-netlify" + "path": "/technologies/node/recipes/node-serverless-functions-netlify" }, { "description": "", "file": "shared/recipes/deployment/node-aws-lambda", "id": "node-aws-lambda", "name": "Deploying AWS lambda in Node.js (deprecated)", - "path": "/recipes/node/node-aws-lambda" + "path": "/technologies/node/recipes/node-aws-lambda" }, { "description": "", "file": "shared/recipes/node/application-proxies", "id": "application-proxies", "name": "Set Up Application Proxies", - "path": "/recipes/node/application-proxies" + "path": "/technologies/node/recipes/application-proxies" }, { "description": "", @@ -1286,124 +1449,13 @@ "path": "/showcase/example-repos/serverless-fastify-planetscale" } ], - "storybook": [ - { - "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-react", - "id": "overview-react", - "name": "Set up Storybook for React Projects", - "path": "/recipes/storybook/overview-react" - }, - { - "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-angular", - "id": "overview-angular", - "name": "Set up Storybook for Angular Projects", - "path": "/recipes/storybook/overview-angular" - }, - { - "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-vue", - "id": "overview-vue", - "name": "Set up Storybook for Vue Projects", - "path": "/recipes/storybook/overview-vue" - }, - { - "description": "This guide explains how Storybook is configured on your Nx workspace.", - "file": "shared/recipes/storybook/configuring-storybook", - "id": "configuring-storybook", - "name": "Configuring Storybook on Nx", - "path": "/recipes/storybook/configuring-storybook" - }, - { - "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", - "file": "shared/recipes/storybook/one-storybook-for-all", - "id": "one-storybook-for-all", - "name": "One main Storybook instance for all projects", - "path": "/recipes/storybook/one-storybook-for-all" - }, - { - "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", - "file": "shared/recipes/storybook/one-storybook-per-scope", - "id": "one-storybook-per-scope", - "name": "One Storybook instance per scope", - "path": "/recipes/storybook/one-storybook-per-scope" - }, - { - "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", - "file": "shared/recipes/storybook/one-storybook-with-composition", - "id": "one-storybook-with-composition", - "name": "One main Storybook instance using Storybook Composition", - "path": "/recipes/storybook/one-storybook-with-composition" - }, - { - "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", - "file": "shared/recipes/storybook/custom-builder-configs", - "id": "custom-builder-configs", - "name": "How to configure Webpack and Vite for Storybook", - "path": "/recipes/storybook/custom-builder-configs" - }, - { - "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", - "file": "shared/recipes/storybook/interaction-tests", - "id": "storybook-interaction-tests", - "name": "Setting up Storybook Interaction Tests with Nx", - "path": "/recipes/storybook/storybook-interaction-tests" - }, - { - "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", - "file": "shared/recipes/storybook/upgrading-storybook", - "id": "upgrading-storybook", - "name": "Upgrading Storybook using the Storybook CLI", - "path": "/recipes/storybook/upgrading-storybook" - }, - { - "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", - "file": "shared/recipes/storybook/storybook-composition-setup", - "id": "storybook-composition-setup", - "name": "Setting up Storybook Composition with Nx", - "path": "/recipes/storybook/storybook-composition-setup" - }, - { - "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", - "file": "shared/recipes/storybook/angular-storybook-compodoc", - "id": "angular-storybook-compodoc", - "name": "Angular: Set up Compodoc for Storybook on Nx", - "path": "/recipes/storybook/angular-storybook-compodoc" - }, - { - "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", - "file": "shared/recipes/storybook/angular-configuring-styles", - "id": "angular-configuring-styles", - "name": "Angular: Configuring styles and preprocessor options", - "path": "/recipes/storybook/angular-configuring-styles" - } - ], - "yarn": [ - { - "description": "", - "file": "shared/recipes/yarn-pnp", - "id": "yarn-pnp", - "name": "Using Yarn PnP", - "path": "/recipes/tips-n-tricks/yarn-pnp" - } - ], - "Plug and Play": [ - { - "description": "", - "file": "shared/recipes/yarn-pnp", - "id": "yarn-pnp", - "name": "Using Yarn PnP", - "path": "/recipes/tips-n-tricks/yarn-pnp" - } - ], "eslint": [ { "description": "", "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", "id": "flat-config", "name": "Switching to ESLint's flat config format", - "path": "/recipes/tips-n-tricks/flat-config" + "path": "/technologies/eslint/recipes/flat-config" } ], "flat config": [ @@ -1412,7 +1464,100 @@ "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint", "id": "flat-config", "name": "Switching to ESLint's flat config format", - "path": "/recipes/tips-n-tricks/flat-config" + "path": "/technologies/eslint/recipes/flat-config" + } + ], + "storybook": [ + { + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-react", + "id": "overview-react", + "name": "Set up Storybook for React Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-react" + }, + { + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-angular", + "id": "overview-angular", + "name": "Set up Storybook for Angular Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-angular" + }, + { + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-vue", + "id": "overview-vue", + "name": "Set up Storybook for Vue Projects", + "path": "/technologies/test-tools/storybook/recipes/overview-vue" + }, + { + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "file": "shared/recipes/storybook/configuring-storybook", + "id": "configuring-storybook", + "name": "Configuring Storybook on Nx", + "path": "/technologies/test-tools/storybook/recipes/configuring-storybook" + }, + { + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "file": "shared/recipes/storybook/one-storybook-for-all", + "id": "one-storybook-for-all", + "name": "One main Storybook instance for all projects", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-for-all" + }, + { + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "file": "shared/recipes/storybook/one-storybook-per-scope", + "id": "one-storybook-per-scope", + "name": "One Storybook instance per scope", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-per-scope" + }, + { + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "file": "shared/recipes/storybook/one-storybook-with-composition", + "id": "one-storybook-with-composition", + "name": "One main Storybook instance using Storybook Composition", + "path": "/technologies/test-tools/storybook/recipes/one-storybook-with-composition" + }, + { + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "file": "shared/recipes/storybook/custom-builder-configs", + "id": "custom-builder-configs", + "name": "How to configure Webpack and Vite for Storybook", + "path": "/technologies/test-tools/storybook/recipes/custom-builder-configs" + }, + { + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "file": "shared/recipes/storybook/interaction-tests", + "id": "storybook-interaction-tests", + "name": "Setting up Storybook Interaction Tests with Nx", + "path": "/technologies/test-tools/storybook/recipes/storybook-interaction-tests" + }, + { + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "file": "shared/recipes/storybook/upgrading-storybook", + "id": "upgrading-storybook", + "name": "Upgrading Storybook using the Storybook CLI", + "path": "/technologies/test-tools/storybook/recipes/upgrading-storybook" + }, + { + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "file": "shared/recipes/storybook/storybook-composition-setup", + "id": "storybook-composition-setup", + "name": "Setting up Storybook Composition with Nx", + "path": "/technologies/test-tools/storybook/recipes/storybook-composition-setup" + }, + { + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "file": "shared/recipes/storybook/angular-storybook-compodoc", + "id": "angular-storybook-compodoc", + "name": "Angular: Set up Compodoc for Storybook on Nx", + "path": "/technologies/test-tools/storybook/recipes/angular-storybook-compodoc" + }, + { + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "file": "shared/recipes/storybook/angular-configuring-styles", + "id": "angular-configuring-styles", + "name": "Angular: Configuring styles and preprocessor options", + "path": "/technologies/test-tools/storybook/recipes/angular-configuring-styles" } ], "conformance": [ @@ -1521,6 +1666,13 @@ "id": "connect-to-nx-cloud", "name": "connect-to-nx-cloud", "path": "/nx-api/nx/documents/connect-to-nx-cloud" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/connect-to-nx-cloud", + "id": "connect-to-nx-cloud", + "name": "connect-to-nx-cloud", + "path": "/reference/core-api/nx/documents/connect-to-nx-cloud" } ], "running-tasks": [ @@ -1562,6 +1714,20 @@ "id": "logout", "name": "logout", "path": "/nx-api/nx/documents/logout" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/login", + "id": "login", + "name": "login", + "path": "/reference/core-api/nx/documents/login" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/logout", + "id": "logout", + "name": "logout", + "path": "/reference/core-api/nx/documents/logout" } ], "single-tenant": [ @@ -1598,6 +1764,13 @@ "id": "affected", "name": "affected", "path": "/nx-api/nx/documents/affected" + }, + { + "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.", + "file": "generated/packages/nx/documents/affected", + "id": "affected", + "name": "affected", + "path": "/reference/core-api/nx/documents/affected" } ] } diff --git a/docs/generated/packages/angular/documents/angular-nx-version-matrix.md b/docs/generated/packages/angular/documents/angular-nx-version-matrix.md index 42894a74f8..1d8f385b2d 100644 --- a/docs/generated/packages/angular/documents/angular-nx-version-matrix.md +++ b/docs/generated/packages/angular/documents/angular-nx-version-matrix.md @@ -50,7 +50,7 @@ Additionally, you can check the supported versions of Node and Typescript for th ## Nx and Angular Rspack Version Compatibility Matrix -Below is a reference table that matches versions of [Angular Rspack](/recipes/angular/rspack/introduction) to the versions of Angular and Nx that is compatible with it. +Below is a reference table that matches versions of [Angular Rspack](/technologies/angular/angular-rspack/introduction) to the versions of Angular and Nx that is compatible with it. | Angular Rspack | Angular | Nx | | -------------- | ----------- | ------------------- | diff --git a/docs/generated/packages/angular/documents/nx-and-angular.md b/docs/generated/packages/angular/documents/nx-and-angular.md index 7cf032e569..16a7cc95a1 100644 --- a/docs/generated/packages/angular/documents/nx-and-angular.md +++ b/docs/generated/packages/angular/documents/nx-and-angular.md @@ -275,7 +275,7 @@ Nx is really made to scale with you. You can - start small with a single-project workspace - modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows, including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries) - you can then migrate to a monorepo when you are ready and need one ([more here](/recipes/tips-n-tricks/standalone-to-monorepo)) -- or even [add Webpack Module Federation support](/recipes/angular/module-federation-with-ssr) +- or even [add Webpack Module Federation support](/technologies/angular/recipes/module-federation-with-ssr) ### Visualize your Workspace @@ -405,9 +405,9 @@ Migrating an Angular CLI project to Nx can be done by running npx nx@latest init ``` -or alternatively using the `--integrated` flag if you want to create an Nx monorepo right away. Learn more about all the details on the [dedicated docs page](/recipes/angular/migration/angular). +or alternatively using the `--integrated` flag if you want to create an Nx monorepo right away. Learn more about all the details on the [dedicated docs page](technologies/angular/migration/angular). -There is also a guide describing how to [consolidate multiple Angular CLI projects into a single Nx monorepo](/recipes/angular/migration/angular-multiple). +There is also a guide describing how to [consolidate multiple Angular CLI projects into a single Nx monorepo](technologies/angular/migration/angular-multiple). You can learn more about Angular & Nx by following our dedicated tutorials: diff --git a/docs/generated/packages/angular/documents/nx-devkit-angular-devkit.md b/docs/generated/packages/angular/documents/nx-devkit-angular-devkit.md index 4fb4459e2a..687f7db2a9 100644 --- a/docs/generated/packages/angular/documents/nx-devkit-angular-devkit.md +++ b/docs/generated/packages/angular/documents/nx-devkit-angular-devkit.md @@ -12,7 +12,7 @@ This document covers the difference between Nx Devkit and Angular Devkit. See th Nx comes with a devkit to write generators and executors, but you can also use Angular devkit (schematics and builders). In other words, you can use an Angular schematic to implement a generator, and you can use an Angular builder to implement an executor. {% callout type="check" title="Important" %} -Support to run Angular Devkit builders and schematics is enabled by installing the [`@nx/angular` plugin](/nx-api/angular/documents/overview). This plugin is installed by default when creating a new Angular workspace with Nx or [migrate an existing Angular CLI workspace to Nx](/recipes/angular/migration/angular). +Support to run Angular Devkit builders and schematics is enabled by installing the [`@nx/angular` plugin](/nx-api/angular/documents/overview). This plugin is installed by default when creating a new Angular workspace with Nx or [migrate an existing Angular CLI workspace to Nx](technologies/angular/migration/angular). {% /callout %} **What are the differences between Nx Devkit and Angular Devkit?** diff --git a/docs/generated/packages/angular/documents/overview.md b/docs/generated/packages/angular/documents/overview.md index 579abcea17..5c7a4934e3 100644 --- a/docs/generated/packages/angular/documents/overview.md +++ b/docs/generated/packages/angular/documents/overview.md @@ -26,7 +26,7 @@ Among other things, it provides: {% callout type="note" title="Currently using the Angular CLI?" %} You can easily and mostly **automatically migrate from an Angular CLI** project to Nx! Learn -more [here](/recipes/angular/migration/angular). +more [here](technologies/angular/migration/angular). {% /callout %} ## Setting Up @nx/angular @@ -114,6 +114,6 @@ nx g @nx/angular:service apps/appName/src/lib/my-service/my-service ## More Documentation - [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial) -- [Migrating from the Angular CLI](/recipes/angular/migration/angular) -- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation) -- [Using Tailwind CSS with Angular projects](/recipes/angular/using-tailwind-css-with-angular-projects) +- [Migrating from the Angular CLI](technologies/angular/migration/angular) +- [Setup Module Federation with Angular and Nx](/technologies/module-federation/concepts/faster-builds-with-module-federation) +- [Using Tailwind CSS with Angular projects](/technologies/angular/recipes/using-tailwind-css-with-angular-projects) diff --git a/docs/generated/packages/cypress/documents/overview.md b/docs/generated/packages/cypress/documents/overview.md index 3e0f674602..d26921486f 100644 --- a/docs/generated/packages/cypress/documents/overview.md +++ b/docs/generated/packages/cypress/documents/overview.md @@ -14,7 +14,7 @@ Cypress is a test runner built for the modern web. It has a lot of great feature ## Setting Up @nx/cypress -> Info about [Cypress Component Testing can be found here](/recipes/cypress/cypress-component-testing) +> Info about [Cypress Component Testing can be found here](/technologies/test-tools/cypress/recipes/cypress-component-testing) ### Installation @@ -111,7 +111,7 @@ export default defineConfig({ ``` {% callout type="note" title="Using setupNodeEvents function" %} -If you use the `setupNodeEvents` function in your Cypress configuration, make sure to invoke the same function that is returned by `nxE2EPreset`. See the recipe on [using `setupNodeEvents` with Cypress preset](/recipes/cypress/cypress-setup-node-events) for more details. +If you use the `setupNodeEvents` function in your Cypress configuration, make sure to invoke the same function that is returned by `nxE2EPreset`. See the recipe on [using `setupNodeEvents` with Cypress preset](/technologies/test-tools/cypress/recipes/cypress-setup-node-events) for more details. {% /callout %} ## E2E Testing diff --git a/docs/generated/packages/devkit/documents/ngcli_adapter.md b/docs/generated/packages/devkit/documents/ngcli_adapter.md index 9bfb21f93f..c69feba31e 100644 --- a/docs/generated/packages/devkit/documents/ngcli_adapter.md +++ b/docs/generated/packages/devkit/documents/ngcli_adapter.md @@ -4,9 +4,9 @@ ### Classes -- [NxScopedHost](../../devkit/documents/ngcli_adapter/NxScopedHost) +- [NxScopedHost](/reference/core-api/devkit/documents/ngcli_adapter/NxScopedHost) ### Functions -- [mockSchematicsForTesting](../../devkit/documents/ngcli_adapter/mockSchematicsForTesting) -- [wrapAngularDevkitSchematic](../../devkit/documents/ngcli_adapter/wrapAngularDevkitSchematic) +- [mockSchematicsForTesting](/reference/core-api/devkit/documents/ngcli_adapter/mockSchematicsForTesting) +- [wrapAngularDevkitSchematic](/reference/core-api/devkit/documents/ngcli_adapter/wrapAngularDevkitSchematic) diff --git a/docs/generated/packages/devkit/documents/nx_devkit.md b/docs/generated/packages/devkit/documents/nx_devkit.md index c873221ad0..42cd85bf85 100644 --- a/docs/generated/packages/devkit/documents/nx_devkit.md +++ b/docs/generated/packages/devkit/documents/nx_devkit.md @@ -13,163 +13,163 @@ It only uses language primitives and immutable objects ### Enumerations -- [ChangeType](../../devkit/documents/ChangeType) -- [DependencyType](../../devkit/documents/DependencyType) -- [OverwriteStrategy](../../devkit/documents/OverwriteStrategy) +- [ChangeType](/reference/core-api/devkit/documents/ChangeType) +- [DependencyType](/reference/core-api/devkit/documents/DependencyType) +- [OverwriteStrategy](/reference/core-api/devkit/documents/OverwriteStrategy) ### Classes -- [AggregateCreateNodesError](../../devkit/documents/AggregateCreateNodesError) -- [StaleProjectGraphCacheError](../../devkit/documents/StaleProjectGraphCacheError) +- [AggregateCreateNodesError](/reference/core-api/devkit/documents/AggregateCreateNodesError) +- [StaleProjectGraphCacheError](/reference/core-api/devkit/documents/StaleProjectGraphCacheError) ### Interfaces -- [CreateDependenciesContext](../../devkit/documents/CreateDependenciesContext) -- [CreateNodesContext](../../devkit/documents/CreateNodesContext) -- [CreateNodesContextV2](../../devkit/documents/CreateNodesContextV2) -- [CreateNodesResult](../../devkit/documents/CreateNodesResult) -- [DefaultTasksRunnerOptions](../../devkit/documents/DefaultTasksRunnerOptions) -- [ExecutorContext](../../devkit/documents/ExecutorContext) -- [ExecutorsJson](../../devkit/documents/ExecutorsJson) -- [FileChange](../../devkit/documents/FileChange) -- [FileData](../../devkit/documents/FileData) -- [FileMap](../../devkit/documents/FileMap) -- [GeneratorsJson](../../devkit/documents/GeneratorsJson) -- [GraphJson](../../devkit/documents/GraphJson) -- [Hash](../../devkit/documents/Hash) -- [HasherContext](../../devkit/documents/HasherContext) -- [ImplicitJsonSubsetDependency](../../devkit/documents/ImplicitJsonSubsetDependency) -- [JsonParseOptions](../../devkit/documents/JsonParseOptions) -- [JsonSerializeOptions](../../devkit/documents/JsonSerializeOptions) -- [MigrationsJson](../../devkit/documents/MigrationsJson) -- [NxAffectedConfig](../../devkit/documents/NxAffectedConfig) -- [NxJsonConfiguration](../../devkit/documents/NxJsonConfiguration) -- [ProjectConfiguration](../../devkit/documents/ProjectConfiguration) -- [ProjectFileMap](../../devkit/documents/ProjectFileMap) -- [ProjectGraph](../../devkit/documents/ProjectGraph) -- [ProjectGraphDependency](../../devkit/documents/ProjectGraphDependency) -- [ProjectGraphExternalNode](../../devkit/documents/ProjectGraphExternalNode) -- [ProjectGraphProjectNode](../../devkit/documents/ProjectGraphProjectNode) -- [ProjectsConfigurations](../../devkit/documents/ProjectsConfigurations) -- [RemoteCache](../../devkit/documents/RemoteCache) -- [StringDeletion](../../devkit/documents/StringDeletion) -- [StringInsertion](../../devkit/documents/StringInsertion) -- [Target](../../devkit/documents/Target) -- [TargetConfiguration](../../devkit/documents/TargetConfiguration) -- [TargetDependencyConfig](../../devkit/documents/TargetDependencyConfig) -- [Task](../../devkit/documents/Task) -- [TaskGraph](../../devkit/documents/TaskGraph) -- [TaskHasher](../../devkit/documents/TaskHasher) -- [TaskResult](../../devkit/documents/TaskResult) -- [Tree](../../devkit/documents/Tree) -- [Workspace](../../devkit/documents/Workspace) +- [CreateDependenciesContext](/reference/core-api/devkit/documents/CreateDependenciesContext) +- [CreateNodesContext](/reference/core-api/devkit/documents/CreateNodesContext) +- [CreateNodesContextV2](/reference/core-api/devkit/documents/CreateNodesContextV2) +- [CreateNodesResult](/reference/core-api/devkit/documents/CreateNodesResult) +- [DefaultTasksRunnerOptions](/reference/core-api/devkit/documents/DefaultTasksRunnerOptions) +- [ExecutorContext](/reference/core-api/devkit/documents/ExecutorContext) +- [ExecutorsJson](/reference/core-api/devkit/documents/ExecutorsJson) +- [FileChange](/reference/core-api/devkit/documents/FileChange) +- [FileData](/reference/core-api/devkit/documents/FileData) +- [FileMap](/reference/core-api/devkit/documents/FileMap) +- [GeneratorsJson](/reference/core-api/devkit/documents/GeneratorsJson) +- [GraphJson](/reference/core-api/devkit/documents/GraphJson) +- [Hash](/reference/core-api/devkit/documents/Hash) +- [HasherContext](/reference/core-api/devkit/documents/HasherContext) +- [ImplicitJsonSubsetDependency](/reference/core-api/devkit/documents/ImplicitJsonSubsetDependency) +- [JsonParseOptions](/reference/core-api/devkit/documents/JsonParseOptions) +- [JsonSerializeOptions](/reference/core-api/devkit/documents/JsonSerializeOptions) +- [MigrationsJson](/reference/core-api/devkit/documents/MigrationsJson) +- [NxAffectedConfig](/reference/core-api/devkit/documents/NxAffectedConfig) +- [NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration) +- [ProjectConfiguration](/reference/core-api/devkit/documents/ProjectConfiguration) +- [ProjectFileMap](/reference/core-api/devkit/documents/ProjectFileMap) +- [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph) +- [ProjectGraphDependency](/reference/core-api/devkit/documents/ProjectGraphDependency) +- [ProjectGraphExternalNode](/reference/core-api/devkit/documents/ProjectGraphExternalNode) +- [ProjectGraphProjectNode](/reference/core-api/devkit/documents/ProjectGraphProjectNode) +- [ProjectsConfigurations](/reference/core-api/devkit/documents/ProjectsConfigurations) +- [RemoteCache](/reference/core-api/devkit/documents/RemoteCache) +- [StringDeletion](/reference/core-api/devkit/documents/StringDeletion) +- [StringInsertion](/reference/core-api/devkit/documents/StringInsertion) +- [Target](/reference/core-api/devkit/documents/Target) +- [TargetConfiguration](/reference/core-api/devkit/documents/TargetConfiguration) +- [TargetDependencyConfig](/reference/core-api/devkit/documents/TargetDependencyConfig) +- [Task](/reference/core-api/devkit/documents/Task) +- [TaskGraph](/reference/core-api/devkit/documents/TaskGraph) +- [TaskHasher](/reference/core-api/devkit/documents/TaskHasher) +- [TaskResult](/reference/core-api/devkit/documents/TaskResult) +- [Tree](/reference/core-api/devkit/documents/Tree) +- [Workspace](/reference/core-api/devkit/documents/Workspace) ### Type Aliases -- [AsyncIteratorExecutor](../../devkit/documents/AsyncIteratorExecutor) -- [CreateDependencies](../../devkit/documents/CreateDependencies) -- [CreateMetadata](../../devkit/documents/CreateMetadata) -- [CreateMetadataContext](../../devkit/documents/CreateMetadataContext) -- [CreateNodes](../../devkit/documents/CreateNodes) -- [CreateNodesFunction](../../devkit/documents/CreateNodesFunction) -- [CreateNodesFunctionV2](../../devkit/documents/CreateNodesFunctionV2) -- [CreateNodesResultV2](../../devkit/documents/CreateNodesResultV2) -- [CreateNodesV2](../../devkit/documents/CreateNodesV2) -- [CustomHasher](../../devkit/documents/CustomHasher) -- [DynamicDependency](../../devkit/documents/DynamicDependency) -- [Executor](../../devkit/documents/Executor) -- [ExpandedPluginConfiguration](../../devkit/documents/ExpandedPluginConfiguration) -- [Generator](../../devkit/documents/Generator) -- [GeneratorCallback](../../devkit/documents/GeneratorCallback) -- [Hasher](../../devkit/documents/Hasher) -- [ImplicitDependency](../../devkit/documents/ImplicitDependency) -- [ImplicitDependencyEntry](../../devkit/documents/ImplicitDependencyEntry) -- [Migration](../../devkit/documents/Migration) -- [NxPlugin](../../devkit/documents/NxPlugin) -- [NxPluginV2](../../devkit/documents/NxPluginV2) -- [PackageManager](../../devkit/documents/PackageManager) -- [PluginConfiguration](../../devkit/documents/PluginConfiguration) -- [PostTasksExecution](../../devkit/documents/PostTasksExecution) -- [PostTasksExecutionContext](../../devkit/documents/PostTasksExecutionContext) -- [PreTasksExecution](../../devkit/documents/PreTasksExecution) -- [PreTasksExecutionContext](../../devkit/documents/PreTasksExecutionContext) -- [ProjectType](../../devkit/documents/ProjectType) -- [ProjectsMetadata](../../devkit/documents/ProjectsMetadata) -- [PromiseExecutor](../../devkit/documents/PromiseExecutor) -- [RawProjectGraphDependency](../../devkit/documents/RawProjectGraphDependency) -- [StaticDependency](../../devkit/documents/StaticDependency) -- [StringChange](../../devkit/documents/StringChange) -- [TargetDefaults](../../devkit/documents/TargetDefaults) -- [TaskGraphExecutor](../../devkit/documents/TaskGraphExecutor) -- [TaskResults](../../devkit/documents/TaskResults) -- [ToJSOptions](../../devkit/documents/ToJSOptions) -- [WorkspaceJsonConfiguration](../../devkit/documents/WorkspaceJsonConfiguration) +- [AsyncIteratorExecutor](/reference/core-api/devkit/documents/AsyncIteratorExecutor) +- [CreateDependencies](/reference/core-api/devkit/documents/CreateDependencies) +- [CreateMetadata](/reference/core-api/devkit/documents/CreateMetadata) +- [CreateMetadataContext](/reference/core-api/devkit/documents/CreateMetadataContext) +- [CreateNodes](/reference/core-api/devkit/documents/CreateNodes) +- [CreateNodesFunction](/reference/core-api/devkit/documents/CreateNodesFunction) +- [CreateNodesFunctionV2](/reference/core-api/devkit/documents/CreateNodesFunctionV2) +- [CreateNodesResultV2](/reference/core-api/devkit/documents/CreateNodesResultV2) +- [CreateNodesV2](/reference/core-api/devkit/documents/CreateNodesV2) +- [CustomHasher](/reference/core-api/devkit/documents/CustomHasher) +- [DynamicDependency](/reference/core-api/devkit/documents/DynamicDependency) +- [Executor](/reference/core-api/devkit/documents/Executor) +- [ExpandedPluginConfiguration](/reference/core-api/devkit/documents/ExpandedPluginConfiguration) +- [Generator](/reference/core-api/devkit/documents/Generator) +- [GeneratorCallback](/reference/core-api/devkit/documents/GeneratorCallback) +- [Hasher](/reference/core-api/devkit/documents/Hasher) +- [ImplicitDependency](/reference/core-api/devkit/documents/ImplicitDependency) +- [ImplicitDependencyEntry](/reference/core-api/devkit/documents/ImplicitDependencyEntry) +- [Migration](/reference/core-api/devkit/documents/Migration) +- [NxPlugin](/reference/core-api/devkit/documents/NxPlugin) +- [NxPluginV2](/reference/core-api/devkit/documents/NxPluginV2) +- [PackageManager](/reference/core-api/devkit/documents/PackageManager) +- [PluginConfiguration](/reference/core-api/devkit/documents/PluginConfiguration) +- [PostTasksExecution](/reference/core-api/devkit/documents/PostTasksExecution) +- [PostTasksExecutionContext](/reference/core-api/devkit/documents/PostTasksExecutionContext) +- [PreTasksExecution](/reference/core-api/devkit/documents/PreTasksExecution) +- [PreTasksExecutionContext](/reference/core-api/devkit/documents/PreTasksExecutionContext) +- [ProjectType](/reference/core-api/devkit/documents/ProjectType) +- [ProjectsMetadata](/reference/core-api/devkit/documents/ProjectsMetadata) +- [PromiseExecutor](/reference/core-api/devkit/documents/PromiseExecutor) +- [RawProjectGraphDependency](/reference/core-api/devkit/documents/RawProjectGraphDependency) +- [StaticDependency](/reference/core-api/devkit/documents/StaticDependency) +- [StringChange](/reference/core-api/devkit/documents/StringChange) +- [TargetDefaults](/reference/core-api/devkit/documents/TargetDefaults) +- [TaskGraphExecutor](/reference/core-api/devkit/documents/TaskGraphExecutor) +- [TaskResults](/reference/core-api/devkit/documents/TaskResults) +- [ToJSOptions](/reference/core-api/devkit/documents/ToJSOptions) +- [WorkspaceJsonConfiguration](/reference/core-api/devkit/documents/WorkspaceJsonConfiguration) ### Variables -- [NX_VERSION](../../devkit/documents/NX_VERSION): string -- [cacheDir](../../devkit/documents/cacheDir): string -- [logger](../../devkit/documents/logger): Object -- [output](../../devkit/documents/output): CLIOutput -- [workspaceRoot](../../devkit/documents/workspaceRoot): string +- [NX_VERSION](/reference/core-api/devkit/documents/NX_VERSION): string +- [cacheDir](/reference/core-api/devkit/documents/cacheDir): string +- [logger](/reference/core-api/devkit/documents/logger): Object +- [output](/reference/core-api/devkit/documents/output): CLIOutput +- [workspaceRoot](/reference/core-api/devkit/documents/workspaceRoot): string ### Functions -- [addDependenciesToPackageJson](../../devkit/documents/addDependenciesToPackageJson) -- [addProjectConfiguration](../../devkit/documents/addProjectConfiguration) -- [applyChangesToString](../../devkit/documents/applyChangesToString) -- [convertNxExecutor](../../devkit/documents/convertNxExecutor) -- [convertNxGenerator](../../devkit/documents/convertNxGenerator) -- [createNodesFromFiles](../../devkit/documents/createNodesFromFiles) -- [createProjectFileMapUsingProjectGraph](../../devkit/documents/createProjectFileMapUsingProjectGraph) -- [createProjectGraphAsync](../../devkit/documents/createProjectGraphAsync) -- [defaultTasksRunner](../../devkit/documents/defaultTasksRunner) -- [detectPackageManager](../../devkit/documents/detectPackageManager) -- [ensurePackage](../../devkit/documents/ensurePackage) -- [extractLayoutDirectory](../../devkit/documents/extractLayoutDirectory) -- [formatFiles](../../devkit/documents/formatFiles) -- [generateFiles](../../devkit/documents/generateFiles) -- [getOutputsForTargetAndConfiguration](../../devkit/documents/getOutputsForTargetAndConfiguration) -- [getPackageManagerCommand](../../devkit/documents/getPackageManagerCommand) -- [getPackageManagerVersion](../../devkit/documents/getPackageManagerVersion) -- [getProjects](../../devkit/documents/getProjects) -- [getWorkspaceLayout](../../devkit/documents/getWorkspaceLayout) -- [glob](../../devkit/documents/glob) -- [globAsync](../../devkit/documents/globAsync) -- [hashArray](../../devkit/documents/hashArray) -- [installPackagesTask](../../devkit/documents/installPackagesTask) -- [isDaemonEnabled](../../devkit/documents/isDaemonEnabled) -- [isWorkspacesEnabled](../../devkit/documents/isWorkspacesEnabled) -- [joinPathFragments](../../devkit/documents/joinPathFragments) -- [moveFilesToNewDirectory](../../devkit/documents/moveFilesToNewDirectory) -- [names](../../devkit/documents/names) -- [normalizePath](../../devkit/documents/normalizePath) -- [offsetFromRoot](../../devkit/documents/offsetFromRoot) -- [parseJson](../../devkit/documents/parseJson) -- [parseTargetString](../../devkit/documents/parseTargetString) -- [readCachedProjectGraph](../../devkit/documents/readCachedProjectGraph) -- [readJson](../../devkit/documents/readJson) -- [readJsonFile](../../devkit/documents/readJsonFile) -- [readNxJson](../../devkit/documents/readNxJson) -- [readProjectConfiguration](../../devkit/documents/readProjectConfiguration) -- [readProjectsConfigurationFromProjectGraph](../../devkit/documents/readProjectsConfigurationFromProjectGraph) -- [readTargetOptions](../../devkit/documents/readTargetOptions) -- [removeDependenciesFromPackageJson](../../devkit/documents/removeDependenciesFromPackageJson) -- [removeProjectConfiguration](../../devkit/documents/removeProjectConfiguration) -- [reverse](../../devkit/documents/reverse) -- [runExecutor](../../devkit/documents/runExecutor) -- [runTasksInSerial](../../devkit/documents/runTasksInSerial) -- [serializeJson](../../devkit/documents/serializeJson) -- [stripIndents](../../devkit/documents/stripIndents) -- [stripJsonComments](../../devkit/documents/stripJsonComments) -- [targetToTargetString](../../devkit/documents/targetToTargetString) -- [toJS](../../devkit/documents/toJS) -- [updateJson](../../devkit/documents/updateJson) -- [updateNxJson](../../devkit/documents/updateNxJson) -- [updateProjectConfiguration](../../devkit/documents/updateProjectConfiguration) -- [updateTsConfigsToJs](../../devkit/documents/updateTsConfigsToJs) -- [validateDependency](../../devkit/documents/validateDependency) -- [visitNotIgnoredFiles](../../devkit/documents/visitNotIgnoredFiles) -- [workspaceLayout](../../devkit/documents/workspaceLayout) -- [writeJson](../../devkit/documents/writeJson) -- [writeJsonFile](../../devkit/documents/writeJsonFile) +- [addDependenciesToPackageJson](/reference/core-api/devkit/documents/addDependenciesToPackageJson) +- [addProjectConfiguration](/reference/core-api/devkit/documents/addProjectConfiguration) +- [applyChangesToString](/reference/core-api/devkit/documents/applyChangesToString) +- [convertNxExecutor](/reference/core-api/devkit/documents/convertNxExecutor) +- [convertNxGenerator](/reference/core-api/devkit/documents/convertNxGenerator) +- [createNodesFromFiles](/reference/core-api/devkit/documents/createNodesFromFiles) +- [createProjectFileMapUsingProjectGraph](/reference/core-api/devkit/documents/createProjectFileMapUsingProjectGraph) +- [createProjectGraphAsync](/reference/core-api/devkit/documents/createProjectGraphAsync) +- [defaultTasksRunner](/reference/core-api/devkit/documents/defaultTasksRunner) +- [detectPackageManager](/reference/core-api/devkit/documents/detectPackageManager) +- [ensurePackage](/reference/core-api/devkit/documents/ensurePackage) +- [extractLayoutDirectory](/reference/core-api/devkit/documents/extractLayoutDirectory) +- [formatFiles](/reference/core-api/devkit/documents/formatFiles) +- [generateFiles](/reference/core-api/devkit/documents/generateFiles) +- [getOutputsForTargetAndConfiguration](/reference/core-api/devkit/documents/getOutputsForTargetAndConfiguration) +- [getPackageManagerCommand](/reference/core-api/devkit/documents/getPackageManagerCommand) +- [getPackageManagerVersion](/reference/core-api/devkit/documents/getPackageManagerVersion) +- [getProjects](/reference/core-api/devkit/documents/getProjects) +- [getWorkspaceLayout](/reference/core-api/devkit/documents/getWorkspaceLayout) +- [glob](/reference/core-api/devkit/documents/glob) +- [globAsync](/reference/core-api/devkit/documents/globAsync) +- [hashArray](/reference/core-api/devkit/documents/hashArray) +- [installPackagesTask](/reference/core-api/devkit/documents/installPackagesTask) +- [isDaemonEnabled](/reference/core-api/devkit/documents/isDaemonEnabled) +- [isWorkspacesEnabled](/reference/core-api/devkit/documents/isWorkspacesEnabled) +- [joinPathFragments](/reference/core-api/devkit/documents/joinPathFragments) +- [moveFilesToNewDirectory](/reference/core-api/devkit/documents/moveFilesToNewDirectory) +- [names](/reference/core-api/devkit/documents/names) +- [normalizePath](/reference/core-api/devkit/documents/normalizePath) +- [offsetFromRoot](/reference/core-api/devkit/documents/offsetFromRoot) +- [parseJson](/reference/core-api/devkit/documents/parseJson) +- [parseTargetString](/reference/core-api/devkit/documents/parseTargetString) +- [readCachedProjectGraph](/reference/core-api/devkit/documents/readCachedProjectGraph) +- [readJson](/reference/core-api/devkit/documents/readJson) +- [readJsonFile](/reference/core-api/devkit/documents/readJsonFile) +- [readNxJson](/reference/core-api/devkit/documents/readNxJson) +- [readProjectConfiguration](/reference/core-api/devkit/documents/readProjectConfiguration) +- [readProjectsConfigurationFromProjectGraph](/reference/core-api/devkit/documents/readProjectsConfigurationFromProjectGraph) +- [readTargetOptions](/reference/core-api/devkit/documents/readTargetOptions) +- [removeDependenciesFromPackageJson](/reference/core-api/devkit/documents/removeDependenciesFromPackageJson) +- [removeProjectConfiguration](/reference/core-api/devkit/documents/removeProjectConfiguration) +- [reverse](/reference/core-api/devkit/documents/reverse) +- [runExecutor](/reference/core-api/devkit/documents/runExecutor) +- [runTasksInSerial](/reference/core-api/devkit/documents/runTasksInSerial) +- [serializeJson](/reference/core-api/devkit/documents/serializeJson) +- [stripIndents](/reference/core-api/devkit/documents/stripIndents) +- [stripJsonComments](/reference/core-api/devkit/documents/stripJsonComments) +- [targetToTargetString](/reference/core-api/devkit/documents/targetToTargetString) +- [toJS](/reference/core-api/devkit/documents/toJS) +- [updateJson](/reference/core-api/devkit/documents/updateJson) +- [updateNxJson](/reference/core-api/devkit/documents/updateNxJson) +- [updateProjectConfiguration](/reference/core-api/devkit/documents/updateProjectConfiguration) +- [updateTsConfigsToJs](/reference/core-api/devkit/documents/updateTsConfigsToJs) +- [validateDependency](/reference/core-api/devkit/documents/validateDependency) +- [visitNotIgnoredFiles](/reference/core-api/devkit/documents/visitNotIgnoredFiles) +- [workspaceLayout](/reference/core-api/devkit/documents/workspaceLayout) +- [writeJson](/reference/core-api/devkit/documents/writeJson) +- [writeJsonFile](/reference/core-api/devkit/documents/writeJsonFile) diff --git a/docs/generated/packages/express/documents/overview.md b/docs/generated/packages/express/documents/overview.md index cfc6fbd825..dbf1251060 100644 --- a/docs/generated/packages/express/documents/overview.md +++ b/docs/generated/packages/express/documents/overview.md @@ -33,5 +33,5 @@ This will install the correct version of `@nx/express`. ## Recipes - [Add an Express Application to Your Workspace](/showcase/example-repos/add-express) -- [Set Up Application Proxies](/recipes/node/application-proxies) -- [Wait For Tasks To Finish](/recipes/node/wait-for-tasks) +- [Set Up Application Proxies](/technologies/node/recipes/application-proxies) +- [Wait For Tasks To Finish](/technologies/node/recipes/wait-for-tasks) diff --git a/docs/generated/packages/module-federation/documents/nx-module-federation-dev-server-plugin.md b/docs/generated/packages/module-federation/documents/nx-module-federation-dev-server-plugin.md index 572d15d47f..7a1e5a78b3 100644 --- a/docs/generated/packages/module-federation/documents/nx-module-federation-dev-server-plugin.md +++ b/docs/generated/packages/module-federation/documents/nx-module-federation-dev-server-plugin.md @@ -58,7 +58,7 @@ export default { ## How it works The `NxModuleFederationDevServerPlugin` and `NxModuleFederationSSRDevServerPlugin` will serve the remote applications in via a single file server (using `http-server`) and proxy requests to the remote applications to the correct port. This allows for a more streamlined development experience when working with module federation. -You can learn more about this experience in the [Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview). +You can learn more about this experience in the [Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview). The key difference between `NxModuleFederationDevServerPlugin` and `NxModuleFederationSSRDevServerPlugin` is that the latter will handle both `browser` and `server` bundles to support Server Side Rendering (SSR). It will also serve the host/consumer application by forking ([child_process.fork](https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options)) the `server.js` output from the `server` bundle of the host application. diff --git a/docs/generated/packages/module-federation/documents/nx-module-federation-plugin.md b/docs/generated/packages/module-federation/documents/nx-module-federation-plugin.md index 3b92afe97d..f719410bfd 100644 --- a/docs/generated/packages/module-federation/documents/nx-module-federation-plugin.md +++ b/docs/generated/packages/module-federation/documents/nx-module-federation-plugin.md @@ -89,7 +89,7 @@ The NxModuleFederationPlugin wraps and configures the Module Federation plugin f 4. **Shared Libraries**: The plugin includes a dedicated system for managing shared libraries across federated modules, helping to avoid duplicate code and ensure consistent versions. -You can learn more about how Nx handles Module Federation in the [Module Federation and Nx Guide](/concepts/module-federation/module-federation-and-nx#nx-support-for-module-federation). +You can learn more about how Nx handles Module Federation in the [Module Federation and Nx Guide](/technologies/module-federation/concepts/module-federation-and-nx#nx-support-for-module-federation). ## API Reference diff --git a/docs/generated/packages/nest/documents/overview.md b/docs/generated/packages/nest/documents/overview.md index 241d1d7e4a..50f2eb480a 100644 --- a/docs/generated/packages/nest/documents/overview.md +++ b/docs/generated/packages/nest/documents/overview.md @@ -189,13 +189,13 @@ Ensuring a smooth and reliable deployment of a Nest.js application in a producti Create a Dockerfile that specifies the application's environment and dependencies. Build a Docker image and optionally push it to a container registry. Deploy and run the Docker container on the server. Utilize the `@nx/node:setup-docker` generator to streamline the Docker setup process. 2. **Installing Dependencies on the Server:** - Transfer the build artifacts to the server, install all dependencies using the package manager of your choice, and start the application. Ensure that [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin) is configured with `generatePackageJson: true` so that the build artifacts directory includes `package.json` and `package-lock.json` (or the equivalent files for other package managers). + Transfer the build artifacts to the server, install all dependencies using the package manager of your choice, and start the application. Ensure that [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) is configured with `generatePackageJson: true` so that the build artifacts directory includes `package.json` and `package-lock.json` (or the equivalent files for other package managers). 3. **Transferring Pre-installed Dependencies:** Install dependencies during the build process, and transfer the build artifacts along with the `node_modules` directory to the server. Typically, the artifacts are archived for faster transfer and then unarchived on the server. 4. **Bundling Dependencies:** - By default, Nx/Nest creates a setup that externalizes all dependencies, meaning they are not included in the bundle. This behavior can be adjusted using the `externalDependencies` parameter in the webpack configuration with [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin). After bundling, transfer the package to the server and start the application. + By default, Nx/Nest creates a setup that externalizes all dependencies, meaning they are not included in the bundle. This behavior can be adjusted using the `externalDependencies` parameter in the webpack configuration with [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin). After bundling, transfer the package to the server and start the application. {% callout type="note" title="Bundling Dependencies" %} Bundling dependencies is typically not recommended for Node applications. diff --git a/docs/generated/packages/next/documents/overview.md b/docs/generated/packages/next/documents/overview.md index 7db678a1f0..9436bd7ee1 100644 --- a/docs/generated/packages/next/documents/overview.md +++ b/docs/generated/packages/next/documents/overview.md @@ -338,7 +338,7 @@ This command performs several actions: Once you are ready to deploy your Next.js application, you have absolute freedom to choose any hosting provider that fits your needs. -You may know that the company behind Next.js, Vercel, has a great hosting platform offering that is developed in tandem with Next.js itself to offer a great overall developer and user experience. We have detailed [how to deploy your Next.js application to Vercel in a separate guide](/recipes/react/deploy-nextjs-to-vercel). +You may know that the company behind Next.js, Vercel, has a great hosting platform offering that is developed in tandem with Next.js itself to offer a great overall developer and user experience. We have detailed [how to deploy your Next.js application to Vercel in a separate guide](/technologies/react/recipes/deploy-nextjs-to-vercel). ## More Documentation diff --git a/docs/generated/packages/nuxt/documents/overview.md b/docs/generated/packages/nuxt/documents/overview.md index 91f20b902b..bd088d96fe 100644 --- a/docs/generated/packages/nuxt/documents/overview.md +++ b/docs/generated/packages/nuxt/documents/overview.md @@ -81,7 +81,7 @@ nx g @nx/nuxt:app apps/my-app Once you are ready to deploy your Nuxt application, you have absolute freedom to choose any hosting provider that fits your needs. -We have detailed [how to deploy your Nuxt application to Vercel in a separate guide](/recipes/nuxt/deploy-nuxt-to-vercel). +We have detailed [how to deploy your Nuxt application to Vercel in a separate guide](/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel). ### E2E testing diff --git a/docs/generated/packages/react/documents/overview.md b/docs/generated/packages/react/documents/overview.md index fa0e7372f6..cd9cb01a6a 100644 --- a/docs/generated/packages/react/documents/overview.md +++ b/docs/generated/packages/react/documents/overview.md @@ -138,4 +138,4 @@ The library in `dist` is publishable to npm or a private registry. - [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial) - [Using Cypress](/nx-api/cypress) - [Using Jest](/nx-api/jest) -- [Using Storybook](/recipes/storybook/overview-react) +- [Using Storybook](/technologies/test-tools/storybook/recipes/overview-react) diff --git a/docs/generated/packages/storybook/documents/best-practices.md b/docs/generated/packages/storybook/documents/best-practices.md index e715968a4f..0371cbccb7 100644 --- a/docs/generated/packages/storybook/documents/best-practices.md +++ b/docs/generated/packages/storybook/documents/best-practices.md @@ -39,11 +39,11 @@ If you are on a project using Angular, React or React Native, you can also gener If your project is not configured yet, check out one of these guides: -- [Set up Storybook for React (and Next.js) Projects](/recipes/storybook/overview-react) +- [Set up Storybook for React (and Next.js) Projects](/technologies/test-tools/storybook/recipes/overview-react) -- [Set up Storybook for Angular Projects](/recipes/storybook/overview-angular) +- [Set up Storybook for Angular Projects](/technologies/test-tools/storybook/recipes/overview-angular) -- [Set up Storybook for Vue Projects](/recipes/storybook/overview-vue) +- [Set up Storybook for Vue Projects](/technologies/test-tools/storybook/recipes/overview-vue) If your project is [already configured](/nx-api/storybook), you can use the `stories` generator: @@ -61,7 +61,7 @@ The stories generator will read your inputs (if you’re using Angular), or your [Storybook interaction tests](https://storybook.js.org/docs/react/writing-tests/interaction-testing) allow you to test user interactions within your Storybook stories. It enhances your [Storybook](https://storybook.js.org/) setup, ensuring that not only do your components look right, but they also work correctly when interacted with. -Nx will generate interaction tests for your stories. You can read more in our [Setting up Storybook Interaction Tests with Nx guide](/recipes/storybook/storybook-interaction-tests). +Nx will generate interaction tests for your stories. You can read more in our [Setting up Storybook Interaction Tests with Nx guide](/technologies/test-tools/storybook/recipes/storybook-interaction-tests). ### CI/CD tools @@ -126,7 +126,7 @@ You can think of the central Storybook container as a grouping of similar-concep Then, according to your use-case, you can have one central Storybook for your whole workspace, importing all the stories from all the projects. Alternatively, you can have one Storybook per "scope", which imports all the stories from projects the same scope. Or even one Storybook per application, importing all the stories of all the libraries that it is depending on. As you can see, there are many options, and you can choose the one that best suits your needs. {% callout type="note" title="Storybook Composition" %} -In order to achieve some things mentioned above, you may use [Storybook Composition](/recipes/storybook/storybook-composition-setup). However, in this case, you would still need to build each project’s Storybook individually, and also deploy it individually. So in the cases where you have multiple projects, Storybook Composition would not be very efficient. +In order to achieve some things mentioned above, you may use [Storybook Composition](/technologies/test-tools/storybook/recipes/storybook-composition-setup). However, in this case, you would still need to build each project’s Storybook individually, and also deploy it individually. So in the cases where you have multiple projects, Storybook Composition would not be very efficient. {% /callout %} Before moving on to the examples section, it could be useful to read the [Library Types](/concepts/decisions/project-dependency-rules) documentation page and the [Grouping libraries](/concepts/decisions/folder-structure) documentation page. These could help you decide which way fits your use case better. @@ -135,9 +135,9 @@ Before moving on to the examples section, it could be useful to read the [Librar You can check out the following examples (recipes) to see publishing strategies for Storybook in Nx: -- [One main Storybook instance for all projects](/recipes/storybook/one-storybook-for-all) -- [One Storybook instance per scope](/recipes/storybook/one-storybook-per-scope) -- [One main Storybook instance using Storybook Composition](/recipes/storybook/one-storybook-with-composition) +- [One main Storybook instance for all projects](/technologies/test-tools/storybook/recipes/one-storybook-for-all) +- [One Storybook instance per scope](/technologies/test-tools/storybook/recipes/one-storybook-per-scope) +- [One main Storybook instance using Storybook Composition](/technologies/test-tools/storybook/recipes/one-storybook-with-composition) ## Conclusion diff --git a/docs/generated/packages/storybook/documents/overview.md b/docs/generated/packages/storybook/documents/overview.md index 9fbfee2842..8b0cd67713 100644 --- a/docs/generated/packages/storybook/documents/overview.md +++ b/docs/generated/packages/storybook/documents/overview.md @@ -221,7 +221,7 @@ export default config; ### Setting up documentation -To set up documentation, you can use [Storybook Autodocs](https://storybook.js.org/docs/react/writing-docs/autodocs). For Angular, [you can use `compodoc`](/recipes/storybook/angular-storybook-compodoc) to infer `argTypes`. You can read more about `argTypes` in the [official Storybook `argTypes` documentation](https://storybook.js.org/docs/angular/api/argtypes#automatic-argtype-inference). +To set up documentation, you can use [Storybook Autodocs](https://storybook.js.org/docs/react/writing-docs/autodocs). For Angular, [you can use `compodoc`](/technologies/test-tools/storybook/recipes/angular-storybook-compodoc) to infer `argTypes`. You can read more about `argTypes` in the [official Storybook `argTypes` documentation](https://storybook.js.org/docs/angular/api/argtypes#automatic-argtype-inference). You can read more about how to best set up documentation using Storybook for your project in the [official Storybook documentation](https://storybook.js.org/docs/react/writing-docs/introduction). @@ -229,11 +229,11 @@ You can read more about how to best set up documentation using Storybook for you You can find dedicated information for React and Angular: -- [Set up Storybook for Angular Projects](/recipes/storybook/overview-angular) -- [Set up Storybook for React Projects](/recipes/storybook/overview-react) -- [Set up Storybook for Vue Projects](/recipes/storybook/overview-vue) +- [Set up Storybook for Angular Projects](/technologies/test-tools/storybook/recipes/overview-angular) +- [Set up Storybook for React Projects](/technologies/test-tools/storybook/recipes/overview-react) +- [Set up Storybook for Vue Projects](/technologies/test-tools/storybook/recipes/overview-vue) -You can find all Storybook-related Nx documentation in the [Storybook recipes section](/recipes/storybook). +You can find all Storybook-related Nx documentation in the [Storybook recipes section](/technologies/test-tools/storybook/recipes). For more on using Storybook, see the [official Storybook documentation](https://storybook.js.org/docs/basics/introduction/). diff --git a/docs/generated/packages/webpack/documents/overview.md b/docs/generated/packages/webpack/documents/overview.md index 441f31ced2..5d42770d71 100644 --- a/docs/generated/packages/webpack/documents/overview.md +++ b/docs/generated/packages/webpack/documents/overview.md @@ -7,7 +7,7 @@ The Nx plugin for [webpack](https://webpack.js.org/). [Webpack](https://webpack.js.org/) is a static module bundler for modern JavaScript applications. The `@nx/webpack` plugin provides executors that allow you to build and serve your projects using webpack, plus an executor for SSR. -Nx now allows you to [customize your webpack configuration](/recipes/webpack/webpack-config-setup) for your projects. And we also offer [a number of webpack plugins](/recipes/webpack/webpack-plugins) for supporting Nx and other frameworks. +Nx now allows you to [customize your webpack configuration](/technologies/build-tools/webpack/recipes/webpack-config-setup) for your projects. And we also offer [a number of webpack plugins](/technologies/build-tools/webpack/recipes/webpack-plugins) for supporting Nx and other frameworks. ## Setting up a new Nx workspace with Webpack diff --git a/docs/map.json b/docs/map.json index f5e51045c5..533bce60f2 100644 --- a/docs/map.json +++ b/docs/map.json @@ -29,8 +29,8 @@ "file": "shared/getting-started/why-nx" }, { - "name": "Editor Setup", - "description": "Learn about Nx Console, an extension for VS Code and WebStorm.", + "name": "Editor Integration", + "description": "Learn about Nx Console, an extension for VS Code and WebStorm. (formerly Editor Setup)", "id": "editor-setup", "tags": ["editor-setup"], "file": "shared/getting-started/editor-setup" @@ -182,170 +182,7 @@ ] }, { - "name": "Concepts", - "id": "concepts", - "description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.", - "itemList": [ - { - "name": "Mental Model", - "tags": ["intro", "inferred-tasks"], - "id": "mental-model", - "file": "shared/concepts/mental-model" - }, - { - "name": "How Caching Works", - "tags": ["cache-task-results"], - "id": "how-caching-works", - "file": "shared/concepts/how-caching-works" - }, - { - "name": "What is a Task Pipeline", - "tags": ["run-tasks"], - "id": "task-pipeline-configuration", - "file": "shared/concepts/task-pipeline-configuration" - }, - { - "name": "What Are Nx Plugins", - "tags": [ - "add", - "generate-code", - "create-your-own-plugin", - "inferred-tasks" - ], - "id": "nx-plugins", - "file": "shared/concepts/nx-plugins" - }, - { - "name": "Inferred Tasks", - "tags": ["inferred-tasks"], - "id": "inferred-tasks", - "file": "shared/concepts/inferred-tasks" - }, - { - "name": "Types of Configuration", - "tags": [], - "id": "types-of-configuration", - "file": "shared/concepts/types-of-configuration" - }, - { - "name": "Executors and Configurations", - "id": "executors-and-configurations", - "tags": ["run-tasks"], - "file": "shared/concepts/executors-and-configurations" - }, - { - "name": "Common Tasks", - "id": "common-tasks", - "tags": ["run-tasks"], - "file": "shared/concepts/common-tasks" - }, - { - "name": "Nx Daemon", - "id": "nx-daemon", - "tags": ["daemon"], - "file": "shared/concepts/daemon" - }, - { - "name": "Sync Generators", - "id": "sync-generators", - "tags": ["sync"], - "file": "shared/concepts/sync-generators" - }, - { - "name": "TypeScript Project Linking", - "id": "typescript-project-linking", - "tags": ["project-linking"], - "file": "shared/concepts/typescript-project-linking" - }, - { - "name": "Buildable and Publishable Libraries", - "id": "buildable-and-publishable-libraries", - "file": "shared/concepts/buildable-and-publishable-libraries" - }, - { - "name": "Module Federation", - "id": "module-federation", - "description": "Understand more about Module Federation with NX", - "itemList": [ - { - "name": "Module Federation and Nx", - "id": "module-federation-and-nx", - "tags": ["module-federation", "angular", "react"], - "file": "shared/concepts/module-federation/module-federation-and-nx" - }, - { - "name": "Nx Module Federation Technical Overview", - "id": "nx-module-federation-technical-overview", - "tags": ["module-federation", "angular", "react"], - "file": "shared/concepts/module-federation/nx-module-federation-technical-overview" - }, - { - "name": "Faster Builds with Module Federation", - "id": "faster-builds-with-module-federation", - "tags": ["module-federation", "angular", "react"], - "file": "shared/concepts/module-federation/faster-builds" - }, - { - "name": "Micro Frontend Architecture", - "id": "micro-frontend-architecture", - "file": "shared/concepts/module-federation/micro-frontend-architecture" - }, - { - "name": "Manage Library Versions with Module Federation", - "id": "manage-library-versions-with-module-federation", - "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation" - } - ] - }, - { - "name": "Organizational Decisions", - "id": "decisions", - "description": "Topics that need to be considered when structuring your repository", - "itemList": [ - { - "name": "Overview", - "id": "overview", - "file": "shared/concepts/decisions/monorepo-polyrepo" - }, - { - "name": "Monorepos", - "id": "why-monorepos", - "file": "shared/concepts/decisions/monorepos" - }, - { - "name": "Dependency Management", - "id": "dependency-management", - "file": "shared/concepts/decisions/dependency-management" - }, - { - "name": "Code Ownership", - "id": "code-ownership", - "file": "shared/concepts/decisions/code-ownership" - }, - { - "name": "Project Size", - "id": "project-size", - "tags": ["enforce-module-boundaries"], - "file": "shared/concepts/decisions/project-size" - }, - { - "name": "Project Dependency Rules", - "id": "project-dependency-rules", - "tags": ["enforce-module-boundaries"], - "file": "shared/concepts/decisions/project-dependency-rules" - }, - { - "name": "Folder Structure", - "id": "folder-structure", - "tags": ["enforce-module-boundaries"], - "file": "shared/concepts/decisions/folder-structure" - } - ] - } - ] - }, - { - "name": "Recipes", + "name": "Core Guides", "id": "recipes", "description": "In depth recipes for common tasks", "itemList": [ @@ -595,31 +432,6 @@ } ] }, - { - "name": "Module Federation", - "id": "module-federation", - "description": "Advanced guides to utilize Module Federation with Nx.", - "itemList": [ - { - "id": "create-a-host", - "name": "How to create a Module Federation Host Application", - "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", - "file": "shared/recipes/module-federation/creating-a-host" - }, - { - "id": "create-a-remote", - "name": "How to create a Module Federation Remote Application", - "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", - "file": "shared/recipes/module-federation/creating-a-remote" - }, - { - "id": "federate-a-module", - "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": "Nx Console", "id": "nx-console", @@ -669,366 +481,7 @@ } ] }, - { - "name": "React", - "id": "react", - "description": "Advanced guides to adopt Nx in React.", - "itemList": [ - { - "name": "React Native with Nx", - "id": "react-native", - "file": "shared/guides/react-native" - }, - { - "name": "Remix with Nx", - "id": "remix", - "file": "shared/guides/remix" - }, - { - "name": "React Router with Nx", - "id": "react-router", - "file": "shared/guides/react-router" - }, - { - "name": "Use Environment Variables in React", - "id": "use-environment-variables-in-react", - "tags": ["environment-variables"], - "file": "shared/guides/use-environment-variables-in-react" - }, - { - "name": "Using Tailwind CSS in React", - "id": "using-tailwind-css-in-react", - "file": "shared/guides/using-tailwind-css-in-react" - }, - { - "name": "Adding Images, Fonts, and Files", - "id": "adding-assets-react", - "file": "shared/guides/adding-assets" - }, - { - "name": "Setup Module Federation with SSR for React", - "id": "module-federation-with-ssr", - "tags": ["module-federation", "react"], - "file": "shared/recipes/module-federation-with-ssr" - }, - { - "name": "Deploying Next.js applications to Vercel", - "id": "deploy-nextjs-to-vercel", - "file": "shared/recipes/deployment/deploy-nextjs-to-vercel" - }, - { - "name": "React Compiler with Nx", - "id": "react-compiler", - "file": "shared/guides/react-compiler" - } - ] - }, - { - "name": "Angular", - "id": "angular", - "description": "Advanced guides to adopt Nx in Angular.", - "itemList": [ - { - "name": "Angular Rspack", - "id": "rspack", - "itemList": [ - { - "name": "Introduction", - "id": "introduction", - "tags": ["introduction"], - "file": "shared/guides/angular-rspack/introduction" - }, - { - "name": "Getting Started", - "id": "getting-started", - "tags": ["getting-started", "angular", "rspack", "setup"], - "file": "shared/guides/angular-rspack/getting-started" - }, - { - "name": "Migrate from Angular Webpack", - "id": "migrate-from-webpack", - "tags": ["migrate-from-webpack"], - "file": "shared/guides/angular-rspack/migrate-from-webpack" - }, - { - "name": "Handling Configurations", - "id": "handling-configurations", - "tags": ["handling-configurations", "configurations"], - "file": "shared/guides/angular-rspack/handling-configurations" - }, - { - "name": "Internationalization (i18n)", - "id": "internationalization", - "tags": ["internationalization", "i18n"], - "file": "shared/guides/angular-rspack/internationalization" - } - ] - }, - { - "name": "Migration", - "id": "migration", - "itemList": [ - { - "name": "Migrating from Angular CLI", - "id": "angular", - "tags": ["init"], - "file": "shared/migration/migration-angular" - }, - { - "name": "Migrating From Multiple Angular CLI Repos", - "id": "angular-multiple", - "file": "shared/migration/angular-multiple" - } - ] - }, - { - "name": "Use Environment Variables in Angular", - "id": "use-environment-variables-in-angular", - "tags": ["environment-variables"], - "file": "shared/guides/use-environment-variables-in-angular" - }, - { - "name": "Using Tailwind CSS with Angular projects", - "id": "using-tailwind-css-with-angular-projects", - "file": "shared/guides/using-tailwind-css-with-angular-projects" - }, - { - "name": "Setup Module Federation with SSR for Angular", - "id": "module-federation-with-ssr", - "tags": ["module-federation", "angular"], - "file": "shared/recipes/module-federation-with-ssr" - }, - { - "name": "Advanced Micro Frontends with Angular using Dynamic Federation", - "id": "dynamic-module-federation-with-angular", - "tags": ["module-federation", "angular"], - "file": "shared/recipes/module-federation/dynamic-mfe-angular" - }, - { - "name": "Setup incremental builds for Angular applications", - "id": "setup-incremental-builds-angular", - "file": "shared/guides/setup-incremental-builds-angular" - } - ] - }, - { - "name": "Node", - "id": "node", - "description": "Set of Node related recipes.", - "itemList": [ - { - "name": "Deploying a Node App to Fly.io", - "id": "node-server-fly-io", - "tags": ["deployment", "node"], - "file": "shared/recipes/deployment/node-server-fly-io" - }, - { - "name": "Add and Deploy Netlify Edge Functions with Node", - "id": "node-serverless-functions-netlify", - "tags": ["deployment", "node"], - "file": "shared/recipes/deployment/node-serverless-functions-netlify" - }, - { - "name": "Deploying AWS lambda in Node.js (deprecated)", - "id": "node-aws-lambda", - "tags": ["deployment", "node"], - "file": "shared/recipes/deployment/node-aws-lambda" - }, - { - "name": "Set Up Application Proxies", - "id": "application-proxies", - "tags": ["node"], - "file": "shared/recipes/node/application-proxies" - }, - { - "name": "Wait for Tasks to Finish", - "id": "wait-for-tasks", - "tags": [], - "file": "shared/recipes/node/wait-for-tasks" - } - ] - }, - { - "name": "Storybook", - "id": "storybook", - "description": "Storybook strategies and setups.", - "itemList": [ - { - "name": "Set up Storybook for React Projects", - "id": "overview-react", - "tags": ["storybook"], - "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-react" - }, - { - "name": "Set up Storybook for Angular Projects", - "id": "overview-angular", - "tags": ["storybook"], - "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-angular" - }, - { - "name": "Set up Storybook for Vue Projects", - "id": "overview-vue", - "tags": ["storybook"], - "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", - "file": "shared/recipes/storybook/plugin-vue" - }, - { - "name": "Configuring Storybook on Nx", - "id": "configuring-storybook", - "tags": ["storybook"], - "description": "This guide explains how Storybook is configured on your Nx workspace.", - "file": "shared/recipes/storybook/configuring-storybook" - }, - { - "name": "One main Storybook instance for all projects", - "id": "one-storybook-for-all", - "tags": ["storybook"], - "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", - "file": "shared/recipes/storybook/one-storybook-for-all" - }, - { - "name": "One Storybook instance per scope", - "id": "one-storybook-per-scope", - "tags": ["storybook"], - "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", - "file": "shared/recipes/storybook/one-storybook-per-scope" - }, - { - "name": "One main Storybook instance using Storybook Composition", - "id": "one-storybook-with-composition", - "tags": ["storybook"], - "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", - "file": "shared/recipes/storybook/one-storybook-with-composition" - }, - { - "name": "How to configure Webpack and Vite for Storybook", - "id": "custom-builder-configs", - "tags": ["storybook"], - "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", - "file": "shared/recipes/storybook/custom-builder-configs" - }, - { - "name": "Setting up Storybook Interaction Tests with Nx", - "id": "storybook-interaction-tests", - "tags": ["storybook"], - "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", - "file": "shared/recipes/storybook/interaction-tests" - }, - { - "name": "Upgrading Storybook using the Storybook CLI", - "id": "upgrading-storybook", - "tags": ["storybook"], - "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", - "file": "shared/recipes/storybook/upgrading-storybook" - }, - { - "name": "Setting up Storybook Composition with Nx", - "id": "storybook-composition-setup", - "tags": ["storybook"], - "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", - "file": "shared/recipes/storybook/storybook-composition-setup" - }, - { - "name": "Angular: Set up Compodoc for Storybook on Nx", - "id": "angular-storybook-compodoc", - "tags": ["storybook"], - "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", - "file": "shared/recipes/storybook/angular-storybook-compodoc" - }, - { - "name": "Angular: Configuring styles and preprocessor options", - "id": "angular-configuring-styles", - "tags": ["storybook"], - "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", - "file": "shared/recipes/storybook/angular-configuring-styles" - } - ] - }, - { - "name": "Cypress", - "id": "cypress", - "description": "Cypress related recipes", - "itemList": [ - { - "id": "cypress-component-testing", - "name": "Component Testing", - "description": "Component Testing", - "file": "shared/packages/cypress/cypress-component-testing" - }, - { - "id": "cypress-setup-node-events", - "name": "Using setupNodeEvents with Cypress preset", - "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", - "file": "shared/packages/cypress/cypress-setup-node-events" - }, - { - "id": "cypress-v11-migration", - "name": "Cypress v11 Migration Guide", - "description": "Cypress v11 Migration Guide", - "file": "shared/packages/cypress/cypress-v11-migration" - } - ] - }, - { - "name": "Next", - "id": "next", - "description": "Next related recipes", - "itemList": [ - { - "id": "next-config-setup", - "name": "How to configure Next.js plugins", - "description": "How to configure Next.js plugins", - "file": "shared/packages/next/next-config-setup" - } - ] - }, - { - "name": "Nuxt", - "id": "nuxt", - "description": "Nuxt related recipes", - "itemList": [ - { - "id": "deploy-nuxt-to-vercel", - "name": "Deploying Nuxt applications to Vercel", - "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", - "file": "shared/recipes/deployment/deploy-nuxt-to-vercel" - } - ] - }, - { - "name": "Vite", - "id": "vite", - "description": "Vite related recipes", - "itemList": [ - { - "id": "configure-vite", - "name": "Configure Vite on your Nx workspace", - "description": "Configure Vite on your Nx workspace", - "file": "shared/packages/vite/configure-vite" - } - ] - }, - { - "name": "Webpack", - "id": "webpack", - "description": "Webpack related recipes", - "itemList": [ - { - "id": "webpack-config-setup", - "name": "How to configure Webpack in your Nx workspace", - "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", - "file": "shared/packages/webpack/webpack-config-setup" - }, - { - "id": "webpack-plugins", - "name": "Webpack plugins", - "description": "Webpack plugins", - "file": "shared/packages/webpack/webpack-plugins" - } - ] - }, + { "name": "Enforce Module Boundaries", "id": "enforce-module-boundaries", @@ -1070,32 +523,6 @@ "id": "standalone-to-monorepo", "file": "shared/recipes/tips-n-tricks/standalone-to-monorepo" }, - { - "name": "Configuring ESLint with Typescript", - "id": "eslint", - "file": "shared/eslint" - }, - { - "name": "Switch to Workspaces and TS Project References", - "id": "switch-to-workspaces-project-references", - "tags": ["project-linking"], - "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references" - }, - { - "name": "Enable Typescript Batch Mode", - "id": "enable-tsc-batch-mode", - "file": "shared/recipes/enable-tsc-batch-mode" - }, - { - "name": "Define Secondary Entrypoints for Typescript Packages", - "id": "define-secondary-entrypoints", - "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints" - }, - { - "name": "Compile Typescript Packages to Multiple Formats", - "id": "compile-multiple-formats", - "file": "shared/recipes/tips-n-tricks/compile-multiple-formats" - }, { "name": "Keep Nx Versions in Sync", "id": "keep-nx-versions-in-sync", @@ -1137,11 +564,6 @@ "tags": ["explore-graph"], "file": "shared/recipes/analyze-source-files" }, - { - "name": "Use JavaScript instead TypeScript", - "id": "js-and-ts", - "file": "shared/guides/js-and-ts" - }, { "name": "Altering Migration Process", "id": "advanced-update", @@ -1153,12 +575,1114 @@ "id": "yarn-pnp", "tags": ["yarn", "Plug and Play"], "file": "shared/recipes/yarn-pnp" + } + ] + } + ] + }, + { + "name": "Core Concepts", + "id": "concepts", + "description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.", + "itemList": [ + { + "name": "Mental Model", + "tags": ["intro", "inferred-tasks"], + "id": "mental-model", + "file": "shared/concepts/mental-model" + }, + { + "name": "How Caching Works", + "tags": ["cache-task-results"], + "id": "how-caching-works", + "file": "shared/concepts/how-caching-works" + }, + { + "name": "What is a Task Pipeline", + "tags": ["run-tasks"], + "id": "task-pipeline-configuration", + "file": "shared/concepts/task-pipeline-configuration" + }, + { + "name": "What Are Nx Plugins", + "tags": [ + "add", + "generate-code", + "create-your-own-plugin", + "inferred-tasks" + ], + "id": "nx-plugins", + "file": "shared/concepts/nx-plugins" + }, + { + "name": "Inferred Tasks", + "tags": ["inferred-tasks"], + "id": "inferred-tasks", + "file": "shared/concepts/inferred-tasks" + }, + { + "name": "Types of Configuration", + "tags": [], + "id": "types-of-configuration", + "file": "shared/concepts/types-of-configuration" + }, + { + "name": "Executors and Configurations", + "id": "executors-and-configurations", + "tags": ["run-tasks"], + "file": "shared/concepts/executors-and-configurations" + }, + { + "name": "Common Tasks", + "id": "common-tasks", + "tags": ["run-tasks"], + "file": "shared/concepts/common-tasks" + }, + { + "name": "Nx Daemon", + "id": "nx-daemon", + "tags": ["daemon"], + "file": "shared/concepts/daemon" + }, + { + "name": "Sync Generators", + "id": "sync-generators", + "tags": ["sync"], + "file": "shared/concepts/sync-generators" + }, + { + "name": "TypeScript Project Linking", + "id": "typescript-project-linking", + "tags": ["project-linking"], + "file": "shared/concepts/typescript-project-linking" + }, + { + "name": "Buildable and Publishable Libraries", + "id": "buildable-and-publishable-libraries", + "file": "shared/concepts/buildable-and-publishable-libraries" + }, + { + "name": "Organizational Decisions", + "id": "decisions", + "description": "Topics that need to be considered when structuring your repository", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/concepts/decisions/monorepo-polyrepo" }, { - "name": "Switching to ESLint's flat config format", - "id": "flat-config", - "tags": ["eslint", "flat config"], - "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint" + "name": "Monorepos", + "id": "why-monorepos", + "file": "shared/concepts/decisions/monorepos" + }, + { + "name": "Dependency Management", + "id": "dependency-management", + "file": "shared/concepts/decisions/dependency-management" + }, + { + "name": "Code Ownership", + "id": "code-ownership", + "file": "shared/concepts/decisions/code-ownership" + }, + { + "name": "Project Size", + "id": "project-size", + "tags": ["enforce-module-boundaries"], + "file": "shared/concepts/decisions/project-size" + }, + { + "name": "Project Dependency Rules", + "id": "project-dependency-rules", + "tags": ["enforce-module-boundaries"], + "file": "shared/concepts/decisions/project-dependency-rules" + }, + { + "name": "Folder Structure", + "id": "folder-structure", + "tags": ["enforce-module-boundaries"], + "file": "shared/concepts/decisions/folder-structure" + } + ] + } + ] + }, + { + "name": "Technologies", + "id": "technologies", + "description": "Guides and API references for all supported technologies.", + "itemList": [ + { + "name": "TypeScript", + "id": "typescript", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/js/js-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Switch to Workspaces and TS Project References", + "id": "switch-to-workspaces-project-references", + "tags": ["project-linking"], + "file": "shared/recipes/tips-n-tricks/switch-to-workspaces-project-references" + }, + { + "name": "Enable Typescript Batch Mode", + "id": "enable-tsc-batch-mode", + "file": "shared/recipes/enable-tsc-batch-mode" + }, + { + "name": "Define Secondary Entrypoints for Typescript Packages", + "id": "define-secondary-entrypoints", + "file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints" + }, + { + "name": "Compile Typescript Packages to Multiple Formats", + "id": "compile-multiple-formats", + "file": "shared/recipes/tips-n-tricks/compile-multiple-formats" + }, + { + "name": "Use JavaScript instead TypeScript", + "id": "js-and-ts", + "file": "shared/guides/js-and-ts" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/js/js-plugin" + } + ] + }, + { + "name": "Angular", + "id": "angular", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/angular/angular-plugin" + }, + { + "name": "Migration", + "id": "migration", + "itemList": [ + { + "name": "Migrating from Angular CLI", + "id": "angular", + "tags": ["init"], + "file": "shared/migration/migration-angular" + }, + { + "name": "Migrating From Multiple Angular CLI Repos", + "id": "angular-multiple", + "file": "shared/migration/angular-multiple" + } + ] + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Use Environment Variables in Angular", + "id": "use-environment-variables-in-angular", + "tags": ["environment-variables"], + "file": "shared/guides/use-environment-variables-in-angular" + }, + { + "name": "Using Tailwind CSS with Angular projects", + "id": "using-tailwind-css-with-angular-projects", + "file": "shared/guides/using-tailwind-css-with-angular-projects" + }, + { + "name": "Setup Module Federation with SSR for Angular", + "id": "module-federation-with-ssr", + "tags": ["module-federation", "angular"], + "file": "shared/recipes/module-federation-with-ssr" + }, + { + "name": "Advanced Micro Frontends with Angular using Dynamic Federation", + "id": "dynamic-module-federation-with-angular", + "tags": ["module-federation", "angular"], + "file": "shared/recipes/module-federation/dynamic-mfe-angular" + }, + { + "name": "Setup incremental builds for Angular applications", + "id": "setup-incremental-builds-angular", + "file": "shared/guides/setup-incremental-builds-angular" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/angular/angular-plugin" + }, + { + "name": "Angular Rspack", + "id": "angular-rspack", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/guides/angular-rspack/introduction" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Getting Started with Angular and Rspack", + "id": "getting-started", + "tags": [ + "getting-started", + "angular", + "rspack", + "setup" + ], + "file": "shared/guides/angular-rspack/getting-started" + }, + { + "name": "Migrate from Angular Webpack", + "id": "migrate-from-webpack", + "tags": ["migrate-from-webpack"], + "file": "shared/guides/angular-rspack/migrate-from-webpack" + }, + { + "name": "Handling Configurations", + "id": "handling-configurations", + "tags": ["handling-configurations", "configurations"], + "file": "shared/guides/angular-rspack/handling-configurations" + }, + { + "name": "Internationalization (i18n)", + "id": "internationalization", + "tags": ["internationalization", "i18n"], + "file": "shared/guides/angular-rspack/internationalization" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/guides/angular-rspack/api/nx-angular-rspack/create-config" + } + ] + }, + { + "name": "Angular Rsbuild", + "id": "angular-rsbuild", + "itemList": [ + { + "name": "API", + "id": "api", + "file": "shared/guides/angular-rspack/api/nx-angular-rsbuild/create-config" + } + ] + } + ] + }, + { + "name": "React", + "id": "react", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/react/react-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "React Native with Nx", + "id": "react-native", + "file": "shared/guides/react-native" + }, + { + "name": "Remix with Nx", + "id": "remix", + "file": "shared/guides/remix" + }, + { + "name": "React Router with Nx", + "id": "react-router", + "file": "shared/guides/react-router" + }, + { + "name": "Use Environment Variables in React", + "id": "use-environment-variables-in-react", + "tags": ["environment-variables"], + "file": "shared/guides/use-environment-variables-in-react" + }, + { + "name": "Using Tailwind CSS in React", + "id": "using-tailwind-css-in-react", + "file": "shared/guides/using-tailwind-css-in-react" + }, + { + "name": "Adding Images, Fonts, and Files", + "id": "adding-assets-react", + "file": "shared/guides/adding-assets" + }, + { + "name": "Setup Module Federation with SSR for React", + "id": "module-federation-with-ssr", + "tags": ["module-federation", "react"], + "file": "shared/recipes/module-federation-with-ssr" + }, + { + "name": "Deploying Next.js applications to Vercel", + "id": "deploy-nextjs-to-vercel", + "file": "shared/recipes/deployment/deploy-nextjs-to-vercel" + }, + { + "name": "React Compiler with Nx", + "id": "react-compiler", + "file": "shared/guides/react-compiler" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/react/react-plugin" + }, + { + "name": "Next", + "id": "next", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/next/plugin-overview" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "next-config-setup", + "name": "How to configure Next.js plugins", + "description": "How to configure Next.js plugins", + "file": "shared/packages/next/next-config-setup" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/next/plugin-overview" + } + ] + }, + { + "name": "Remix", + "id": "remix", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/remix/remix-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/remix/remix-plugin" + } + ] + }, + { + "name": "React Native", + "id": "react-native", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/react-native/react-native-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/react-native/react-native-plugin" + } + ] + }, + { + "name": "Expo", + "id": "expo", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/expo/expo-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/expo/expo-plugin" + } + ] + } + ] + }, + { + "name": "Vue", + "id": "vue", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/vue/vue-plugin" + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/vue/vue-plugin" + }, + { + "name": "Nuxt", + "id": "nuxt", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/nuxt/nuxt-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "deploy-nuxt-to-vercel", + "name": "Deploying Nuxt applications to Vercel", + "description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.", + "file": "shared/recipes/deployment/deploy-nuxt-to-vercel" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/nuxt/nuxt-plugin" + } + ] + } + ] + }, + { + "name": "Node.js", + "id": "node", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/node/node-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Deploying a Node App to Fly.io", + "id": "node-server-fly-io", + "tags": ["deployment", "node"], + "file": "shared/recipes/deployment/node-server-fly-io" + }, + { + "name": "Add and Deploy Netlify Edge Functions with Node", + "id": "node-serverless-functions-netlify", + "tags": ["deployment", "node"], + "file": "shared/recipes/deployment/node-serverless-functions-netlify" + }, + { + "name": "Deploying AWS lambda in Node.js (deprecated)", + "id": "node-aws-lambda", + "tags": ["deployment", "node"], + "file": "shared/recipes/deployment/node-aws-lambda" + }, + { + "name": "Set Up Application Proxies", + "id": "application-proxies", + "tags": ["node"], + "file": "shared/recipes/node/application-proxies" + }, + { + "name": "Wait for Tasks to Finish", + "id": "wait-for-tasks", + "tags": [], + "file": "shared/recipes/node/wait-for-tasks" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/node/node-plugin" + }, + { + "name": "Express", + "id": "express", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/express/express-plugin" + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/express/express-plugin" + } + ] + }, + { + "name": "Nest", + "id": "nest", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/nest/nest-plugin" + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/nest/nest-plugin" + } + ] + } + ] + }, + { + "name": "Java", + "id": "java", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/gradle/gradle-plugin" + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/gradle/gradle-plugin" + } + ] + }, + { + "name": "Module Federation", + "id": "module-federation", + "description": "Advanced guides to utilize Module Federation with Nx.", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/module-federation/nx-module-federation-plugin" + }, + { + "name": "Concepts", + "id": "concepts", + "description": "Understand more about Module Federation with NX", + "itemList": [ + { + "name": "Module Federation and Nx", + "id": "module-federation-and-nx", + "tags": ["module-federation", "angular", "react"], + "file": "shared/concepts/module-federation/module-federation-and-nx" + }, + { + "name": "Nx Module Federation Technical Overview", + "id": "nx-module-federation-technical-overview", + "tags": ["module-federation", "angular", "react"], + "file": "shared/concepts/module-federation/nx-module-federation-technical-overview" + }, + { + "name": "Faster Builds with Module Federation", + "id": "faster-builds-with-module-federation", + "tags": ["module-federation", "angular", "react"], + "file": "shared/concepts/module-federation/faster-builds" + }, + { + "name": "Micro Frontend Architecture", + "id": "micro-frontend-architecture", + "file": "shared/concepts/module-federation/micro-frontend-architecture" + }, + { + "name": "Manage Library Versions with Module Federation", + "id": "manage-library-versions-with-module-federation", + "file": "shared/concepts/module-federation/manage-library-versions-with-module-federation" + } + ] + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "create-a-host", + "name": "How to create a Module Federation Host Application", + "description": "A guide on how to create a Module Federation Host Application in your Nx workspace", + "file": "shared/recipes/module-federation/creating-a-host" + }, + { + "id": "create-a-remote", + "name": "How to create a Module Federation Remote Application", + "description": "A guide on how to create a Module Federation Remote Application in your Nx workspace", + "file": "shared/recipes/module-federation/creating-a-remote" + }, + { + "id": "federate-a-module", + "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": "API", + "id": "api", + "file": "shared/packages/module-federation/nx-module-federation-plugin" + } + ] + }, + { + "name": "ESLint", + "id": "eslint", + "description": "Guides and API references for ESLint in Nx.", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/eslint/eslint" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Configuring ESLint with Typescript", + "id": "eslint", + "file": "shared/eslint" + }, + { + "name": "Switching to ESLint's flat config format", + "id": "flat-config", + "tags": ["eslint", "flat config"], + "file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint" + } + ] + }, + { + "name": "API", + "id": "api", + "itemList": [] + }, + { + "name": "ESLint Plugin", + "id": "eslint-plugin", + "itemList": [ + { + "name": "API", + "id": "api", + "file": "shared/packages/eslint/eslint-plugin" + } + ] + } + ] + }, + { + "name": "Build Tools", + "id": "build-tools", + "itemList": [ + { + "name": "Webpack", + "id": "webpack", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/webpack/plugin-overview" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "webpack-config-setup", + "name": "How to configure Webpack in your Nx workspace", + "description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration", + "file": "shared/packages/webpack/webpack-config-setup" + }, + { + "id": "webpack-plugins", + "name": "Webpack plugins", + "description": "Webpack plugins", + "file": "shared/packages/webpack/webpack-plugins" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/webpack/plugin-overview" + } + ] + }, + { + "name": "Vite", + "id": "vite", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/vite/vite-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "configure-vite", + "name": "Configure Vite on your Nx workspace", + "description": "Configure Vite on your Nx workspace", + "file": "shared/packages/vite/configure-vite" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/vite/vite-plugin" + } + ] + }, + { + "name": "Rollup", + "id": "rollup", + "itemList": [ + { + "name": "Introduction", + "id": "introduction" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api" + } + ] + }, + { + "name": "ESBuild", + "id": "esbuild", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/esbuild/esbuild-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/esbuild/esbuild-plugin" + } + ] + }, + { + "name": "Rspack", + "id": "rspack", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/rspack/rspack-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/rspack/rspack-plugin" + } + ] + }, + + { + "name": "Rsbuild", + "id": "rsbuild", + "itemList": [ + { + "name": "Introduction", + "id": "introduction" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api" + } + ] + } + ] + }, + { + "name": "Test Tools", + "id": "test-tools", + "itemList": [ + { + "name": "Cypress", + "id": "cypress", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/cypress/cypress-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "id": "cypress-component-testing", + "name": "Component Testing", + "description": "Component Testing", + "file": "shared/packages/cypress/cypress-component-testing" + }, + { + "id": "cypress-setup-node-events", + "name": "Using setupNodeEvents with Cypress preset", + "description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset", + "file": "shared/packages/cypress/cypress-setup-node-events" + }, + { + "id": "cypress-v11-migration", + "name": "Cypress v11 Migration Guide", + "description": "Cypress v11 Migration Guide", + "file": "shared/packages/cypress/cypress-v11-migration" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/cypress/cypress-plugin" + } + ] + }, + { + "name": "Jest", + "id": "jest", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/jest/jest-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/jest/jest-plugin" + } + ] + }, + { + "name": "Playwright", + "id": "playwright", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/playwright/playwright-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/playwright/playwright-plugin" + } + ] + }, + { + "name": "Storybook", + "id": "storybook", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/storybook/plugin-overview" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [ + { + "name": "Set up Storybook for React Projects", + "id": "overview-react", + "tags": ["storybook"], + "description": "This guide explains how to set up Storybook for React projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-react" + }, + { + "name": "Set up Storybook for Angular Projects", + "id": "overview-angular", + "tags": ["storybook"], + "description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-angular" + }, + { + "name": "Set up Storybook for Vue Projects", + "id": "overview-vue", + "tags": ["storybook"], + "description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.", + "file": "shared/recipes/storybook/plugin-vue" + }, + { + "name": "Configuring Storybook on Nx", + "id": "configuring-storybook", + "tags": ["storybook"], + "description": "This guide explains how Storybook is configured on your Nx workspace.", + "file": "shared/recipes/storybook/configuring-storybook" + }, + { + "name": "One main Storybook instance for all projects", + "id": "one-storybook-for-all", + "tags": ["storybook"], + "description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.", + "file": "shared/recipes/storybook/one-storybook-for-all" + }, + { + "name": "One Storybook instance per scope", + "id": "one-storybook-per-scope", + "tags": ["storybook"], + "description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.", + "file": "shared/recipes/storybook/one-storybook-per-scope" + }, + { + "name": "One main Storybook instance using Storybook Composition", + "id": "one-storybook-with-composition", + "tags": ["storybook"], + "description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.", + "file": "shared/recipes/storybook/one-storybook-with-composition" + }, + { + "name": "How to configure Webpack and Vite for Storybook", + "id": "custom-builder-configs", + "tags": ["storybook"], + "description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.", + "file": "shared/recipes/storybook/custom-builder-configs" + }, + { + "name": "Setting up Storybook Interaction Tests with Nx", + "id": "storybook-interaction-tests", + "tags": ["storybook"], + "description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.", + "file": "shared/recipes/storybook/interaction-tests" + }, + { + "name": "Upgrading Storybook using the Storybook CLI", + "id": "upgrading-storybook", + "tags": ["storybook"], + "description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.", + "file": "shared/recipes/storybook/upgrading-storybook" + }, + { + "name": "Setting up Storybook Composition with Nx", + "id": "storybook-composition-setup", + "tags": ["storybook"], + "description": "This guide explains how you can set up Storybook composition on your Nx workspace.", + "file": "shared/recipes/storybook/storybook-composition-setup" + }, + { + "name": "Angular: Set up Compodoc for Storybook on Nx", + "id": "angular-storybook-compodoc", + "tags": ["storybook"], + "description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.", + "file": "shared/recipes/storybook/angular-storybook-compodoc" + }, + { + "name": "Angular: Configuring styles and preprocessor options", + "id": "angular-configuring-styles", + "tags": ["storybook"], + "description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.", + "file": "shared/recipes/storybook/angular-configuring-styles" + } + ] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/storybook/plugin-overview" + } + ] + }, + { + "name": "Detox", + "id": "detox", + "itemList": [ + { + "name": "Introduction", + "id": "introduction", + "file": "shared/packages/detox/detox-plugin" + }, + { + "name": "Guides", + "id": "recipes", + "itemList": [] + }, + { + "name": "API", + "id": "api", + "file": "shared/packages/detox/detox-plugin" + } + ] } ] } @@ -1385,6 +1909,120 @@ "id": "releases", "tags": [], "file": "shared/reference/releases" + }, + { + "name": "API", + "id": "core-api", + "description": "API references for Nx Workspace", + "itemList": [ + { + "name": "nx", + "id": "nx", + "description": "Nx package" + }, + { + "name": "workspace", + "id": "workspace", + "description": "Workspace package." + }, + { + "name": "owners", + "id": "owners", + "description": "powerpack-owners package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/owners/owners-plugin" + } + ] + }, + { + "name": "conformance", + "id": "conformance", + "description": "powerpack-conformance package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/conformance/conformance-plugin" + }, + { + "name": "Create a Conformance Rule", + "id": "create-conformance-rule", + "file": "shared/packages/conformance/create-conformance-rule" + } + ] + }, + { + "name": "azure-cache", + "id": "azure-cache", + "description": "powerpack-azure-cache package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/azure-cache/azure-cache-plugin" + } + ] + }, + { + "name": "gcs-cache", + "id": "gcs-cache", + "description": "powerpack-gcs-cache package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/gcs-cache/gcs-cache-plugin" + } + ] + }, + { + "name": "s3-cache", + "id": "s3-cache", + "description": "powerpack-s3-cache package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/s3-cache/s3-cache-plugin" + } + ] + }, + { + "name": "shared-fs-cache", + "id": "shared-fs-cache", + "description": "powerpack-shared-fs-cache package.", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "shared/packages/shared-fs-cache/shared-fs-cache-plugin" + } + ] + }, + { + "name": "devkit", + "id": "devkit", + "description": "Devkit package." + }, + { + "name": "plugin", + "id": "plugin", + "description": "Plugin package." + }, + { + "name": "web", + "id": "web", + "description": "Web package." + }, + { + "name": "create-nx-workspace", + "id": "create-nx-workspace", + "description": "create-nx-workspace package." + } + ] } ] }, @@ -1630,7 +2268,7 @@ ] }, { - "name": "Recipes", + "name": "Guides", "id": "recipes", "description": "Focused instructions to complete a specific task", "itemList": [ @@ -1723,6 +2361,42 @@ "file": "shared/recipes/plugins/task-running-lifecycle" } ] + }, + { + "name": "API", + "id": "api", + "description": "API references for extending Nx", + "itemList": [ + { + "name": "Devkit", + "id": "nx-devkit", + "description": "Core utilities for building Nx plugins", + "itemList": [ + { + "name": "Overview", + "id": "overview", + "file": "generated/devkit/README" + }, + { + "name": "Ng CLI Adapter", + "id": "ngcli-adapter", + "file": "generated/devkit/ngcli_adapter/README" + } + ] + }, + { + "name": "Nx Plugin", + "id": "plugin", + "description": "Plugin package.", + "itemList": [ + { + "id": "overview", + "name": "Overview", + "file": "shared/packages/plugin/plugin" + } + ] + } + ] } ] }, @@ -1862,7 +2536,7 @@ ] }, { - "name": "Recipes", + "name": "Guides", "id": "recipes", "description": "Learn how to set up Nx Cloud for your workspace.", "itemList": [ diff --git a/docs/shared/concepts/inferred-tasks.md b/docs/shared/concepts/inferred-tasks.md index ccec515661..4ef0cc1f6c 100644 --- a/docs/shared/concepts/inferred-tasks.md +++ b/docs/shared/concepts/inferred-tasks.md @@ -88,4 +88,4 @@ When `useInferencePlugins` is `false`: If you want to **migrate** your projects to use inferred tasks, follow the recipe for [migrating to inferred tasks](/recipes/running-tasks/convert-to-inferred). -Even once a repository has fully embraced inferred tasks, `project.json` and executors will still be useful. The `project.json` file is needed to modify inferred task options and to define tasks that can not be inferred. Some executors perform tasks that can not be accomplished by running a tool directly from the command line (i.e. [TypeScript batch mode](/recipes/tips-n-tricks/enable-tsc-batch-mode)). +Even once a repository has fully embraced inferred tasks, `project.json` and executors will still be useful. The `project.json` file is needed to modify inferred task options and to define tasks that can not be inferred. Some executors perform tasks that can not be accomplished by running a tool directly from the command line (i.e. [TypeScript batch mode](/technologies/typescript/recipes/enable-tsc-batch-mode)). diff --git a/docs/shared/concepts/module-federation/faster-builds.md b/docs/shared/concepts/module-federation/faster-builds.md index 567b3d7137..532ff0e555 100644 --- a/docs/shared/concepts/module-federation/faster-builds.md +++ b/docs/shared/concepts/module-federation/faster-builds.md @@ -460,7 +460,7 @@ first before building the remotes. ## Summary -You could use Module Federation to implement [micro frontends](/concepts/module-federation/micro-frontend-architecture), +You could use Module Federation to implement [micro frontends](/technologies/module-federation/concepts/micro-frontend-architecture), but this guide showed how to use it to speed up your builds. diff --git a/docs/shared/concepts/module-federation/manage-library-versions-with-module-federation.md b/docs/shared/concepts/module-federation/manage-library-versions-with-module-federation.md index 30f59b1e62..ead022e326 100644 --- a/docs/shared/concepts/module-federation/manage-library-versions-with-module-federation.md +++ b/docs/shared/concepts/module-federation/manage-library-versions-with-module-federation.md @@ -21,7 +21,7 @@ The Shared API maintains a registry of all the downloaded dependencies. When a f ![How Shared API works](/shared/concepts/module-federation/shared-api.png) {% callout type="info" title="Lost?" %} -If you are not familiar with the concepts of federated modules, remotes, and hosts, please read the [Faster builds with module federation](/concepts/module-federation/faster-builds-with-module-federation) for an introduction. +If you are not familiar with the concepts of federated modules, remotes, and hosts, please read the [Faster builds with module federation](/technologies/module-federation/concepts/faster-builds-with-module-federation) for an introduction. {% /callout %} ## Our Approach diff --git a/docs/shared/concepts/module-federation/micro-frontend-architecture.md b/docs/shared/concepts/module-federation/micro-frontend-architecture.md index 78ea3a46a3..144d01a4e6 100644 --- a/docs/shared/concepts/module-federation/micro-frontend-architecture.md +++ b/docs/shared/concepts/module-federation/micro-frontend-architecture.md @@ -5,11 +5,11 @@ description: Explore how Nx supports Micro Frontend architecture with Module Fed # Micro Frontend Architecture -Nx provides out-of-the-box [Module Federation](/concepts/module-federation/faster-builds-with-module-federation) support to both +Nx provides out-of-the-box [Module Federation](/technologies/module-federation/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_. -If you have not read the [Module Federation guide](/concepts/module-federation/faster-builds-with-module-federation) +If you have not read the [Module Federation guide](/technologies/module-federation/concepts/faster-builds-with-module-federation) yet, we recommend that you read it before continuing with this MFE guide. @@ -24,7 +24,7 @@ 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/module-federation/faster-builds-with-module-federation). +[Faster Builds with Module Federation](/technologies/module-federation/concepts/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 @@ -38,7 +38,7 @@ With MFE architecture, a large application is split into: 2. **Remote** applications, which handle a single domain or feature. In a normal Module Federation setup, -we [recommend setting up implicit dependencies](/concepts/module-federation/faster-builds-with-module-federation#architectural-overview) +we [recommend setting up implicit dependencies](/technologies/module-federation/concepts/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/concepts/module-federation/module-federation-and-nx.md b/docs/shared/concepts/module-federation/module-federation-and-nx.md index ab2e2051ac..2cd1b9fe1f 100644 --- a/docs/shared/concepts/module-federation/module-federation-and-nx.md +++ b/docs/shared/concepts/module-federation/module-federation-and-nx.md @@ -39,7 +39,7 @@ A `remote` is an application that exposes a federated module that can be fetched {% callout type="note" title="Creating a Remote" %} -Follow our [How to Create a Remote Application Recipe](/recipes/module-federation/create-a-remote) to learn more. +Follow our [How to Create a Remote Application Recipe](/technologies/module-federation/recipes/create-a-remote) to learn more. {% /callout %} @@ -53,7 +53,7 @@ The federated module will then be executed as though it was always part of the ` {% callout type="note" title="Creating a Host" %} -Follow our [How to Create a Host Application Recipe](/recipes/module-federation/create-a-host) to learn more. +Follow our [How to Create a Host Application Recipe](/technologies/module-federation/recipes/create-a-host) to learn more. {% /callout %} @@ -65,7 +65,7 @@ This means that React Components, Angular Components, Services, Application Stat {% callout type="note" title="Federating a Module" %} -Follow our [How to Federate a Module Recipe](/recipes/module-federation/federate-a-module) to learn more. +Follow our [How to Federate a Module Recipe](/technologies/module-federation/recipes/federate-a-module) to learn more. {% /callout %} @@ -91,7 +91,7 @@ Having multiple versions of a package would then break the package's Singleton n {% callout type="note" title="Managing Versions" %} -Follow our [Manage Library Versions Guide](/concepts/module-federation/manage-library-versions-with-module-federation) to learn more. +Follow our [Manage Library Versions Guide](/technologies/module-federation/concepts/manage-library-versions-with-module-federation) to learn more. {% /callout %} @@ -111,7 +111,7 @@ For both the best DX (Development Experience) and most accurate development of a The `host` is the entry point and the `remotes` are modules used by the application. It just happens that the `remotes` are fetched over-the-wire at runtime rather than being bundled into the application. -To support this, as well as to ensure a great local DX, we built our Module Federation support in such a way that when developing locally you should always run `serve` on your `host` application. This will start up your full Module Federation architecture; serving your `host` with `webpack-dev-server` and each `remote` via a single `http-server`. You can learn more about this on our [Nx Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview). +To support this, as well as to ensure a great local DX, we built our Module Federation support in such a way that when developing locally you should always run `serve` on your `host` application. This will start up your full Module Federation architecture; serving your `host` with `webpack-dev-server` and each `remote` via a single `http-server`. You can learn more about this on our [Nx Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview). With the introduction of Continuous Tasks in Nx 21 when you're working on a specific `remote` application, you now only need to run `nx serve remote` and it will serve the application along with your `host` application. @@ -135,7 +135,7 @@ If you add [Nx Cloud](https://nx.app) to your Nx Workspace, then you can even ge {% callout type="note" title="Faster Builds with Module Federation" %} -Follow our [Faster Builds with Module Federation Guide](/concepts/module-federation/faster-builds-with-module-federation) to learn more. +Follow our [Faster Builds with Module Federation Guide](/technologies/module-federation/concepts/faster-builds-with-module-federation) to learn more. {% /callout %} @@ -148,7 +148,7 @@ This lends itself to more of a Micro Frontend approach. {% callout type="note" title="Micro Frontend Architecture" %} -Follow our [Micro Frontend Architecture Guide](/concepts/module-federation/micro-frontend-architecture) to learn more. +Follow our [Micro Frontend Architecture Guide](/technologies/module-federation/concepts/micro-frontend-architecture) to learn more. {% /callout %} diff --git a/docs/shared/concepts/nx-plugins.md b/docs/shared/concepts/nx-plugins.md index 01e73ba64f..d2c16c7483 100644 --- a/docs/shared/concepts/nx-plugins.md +++ b/docs/shared/concepts/nx-plugins.md @@ -12,7 +12,7 @@ For example, plugins can accomplish the following: - [Configure Nx cache settings](/concepts/inferred-tasks) for a tool. The [`@nx/webpack`](/nx-api/webpack) plugin can automatically configure the [inputs](/recipes/running-tasks/configure-inputs) and [outputs](/recipes/running-tasks/configure-outputs) for a `build` task based on the settings in the `webpack.config.js` file it uses. - [Update tooling configuration](/features/automate-updating-dependencies) when upgrading the tool version. When Storybook 7 introduced a [new format](https://storybook.js.org/blog/storybook-csf3-is-here) for their configuration files, anyone using the [`@nx/storybook`](/nx-api/storybook) plugin could automatically apply those changes to their repository when upgrading. - [Set up a tool](/features/generate-code) for the first time. With the [`@nx/playwright`](/nx-api/playwright) plugin installed, you can use the `@nx/playwright:configuration` code generator to set up Playwright tests in an existing project. -- [Run a tool in an advanced way](/concepts/executors-and-configurations). The [`@nx/js`](/nx-api/js) plugin's [`@nx/js:tsc` executor](/nx-api/js/executors/tsc) combines Nx's understanding of your repository with Typescript's native batch mode feature to make your builds [even more performant](/recipes/tips-n-tricks/enable-tsc-batch-mode). +- [Run a tool in an advanced way](/concepts/executors-and-configurations). The [`@nx/js`](/nx-api/js) plugin's [`@nx/js:tsc` executor](/nx-api/js/executors/tsc) combines Nx's understanding of your repository with Typescript's native batch mode feature to make your builds [even more performant](/technologies/typescript/recipes/enable-tsc-batch-mode). ## Plugin Features diff --git a/docs/shared/deprecated/angular-schematics-builders.md b/docs/shared/deprecated/angular-schematics-builders.md index 40fada6091..f73037ca81 100644 --- a/docs/shared/deprecated/angular-schematics-builders.md +++ b/docs/shared/deprecated/angular-schematics-builders.md @@ -9,7 +9,7 @@ As of Nx 17, official Nx plugins no longer export [schematics](https://angular.d Currently, the Angular CLI can only run its own schematics and builders. The Nx CLI is still able to directly run any schematics or builders created for the Angular CLI as well as Nx's own generators and executors. The only thing that has changed is that Nx is no longer taking the extra step of converting our own code into a format that the Angular CLI recognizes. -To switch from using the Angular CLI to using the Nx CLI follow the [migrating an Angular CLI project to Nx](/recipes/angular/migration/angular) recipe. +To switch from using the Angular CLI to using the Nx CLI follow the [migrating an Angular CLI project to Nx](technologies/angular/migration/angular) recipe. ## Interop between Nx Generators and Angular Schematics diff --git a/docs/shared/examples/tsc-batch-mode.md b/docs/shared/examples/tsc-batch-mode.md index 0d7722decf..5f9ee95807 100644 --- a/docs/shared/examples/tsc-batch-mode.md +++ b/docs/shared/examples/tsc-batch-mode.md @@ -35,4 +35,4 @@ The `@nx/js:tsc` batch implementation addresses this by creating the required pr ## See Also -- [Enable Typescript Batch Mode](/recipes/tips-n-tricks/enable-tsc-batch-mode) +- [Enable Typescript Batch Mode](/technologies/typescript/recipes/enable-tsc-batch-mode) diff --git a/docs/shared/getting-started/editor-setup.md b/docs/shared/getting-started/editor-setup.md index 05aab1eef8..58d55e2ab9 100644 --- a/docs/shared/getting-started/editor-setup.md +++ b/docs/shared/getting-started/editor-setup.md @@ -1,9 +1,9 @@ --- -title: Editor Setup +title: Editor Integration description: Learn how to set up your editor with Nx Console extensions to enhance your developer experience with features like task visualization, cache management, and generator UI. --- -# Editor Setup +# Editor Integration Nx Console editor extensions make your developer experience richer. The extensions diff --git a/docs/shared/getting-started/intro.md b/docs/shared/getting-started/intro.md index 6d646b41f5..74bd2245de 100644 --- a/docs/shared/getting-started/intro.md +++ b/docs/shared/getting-started/intro.md @@ -44,7 +44,7 @@ Also, here are some recipes that give you more details based on the technology s {% link-card title="Add to Any Project" appearance="small" url="/recipes/adopting-nx/adding-to-existing-project" icon="nx" /%} -{% link-card title="Migrate from Angular CLI" appearance="small" url="/recipes/angular/migration/angular" icon="angular" /%} +{% link-card title="Migrate from Angular CLI" appearance="small" url="technologies/angular/migration/angular" icon="angular" /%} {% link-card title="Import Projects into Your Nx Workspace" appearance="small" url="/recipes/adopting-nx/import-project" icon="ArrowDownOnSquareStackIcon" /%} diff --git a/docs/shared/guides/nx-and-angular-cli.md b/docs/shared/guides/nx-and-angular-cli.md index 7cf032e569..16a7cc95a1 100644 --- a/docs/shared/guides/nx-and-angular-cli.md +++ b/docs/shared/guides/nx-and-angular-cli.md @@ -275,7 +275,7 @@ Nx is really made to scale with you. You can - start small with a single-project workspace - modularize your application into more fine-grained libraries for better maintainability as your application (and team) grows, including mechanisms to make sure [things stay within their boundaries](/features/enforce-module-boundaries) - you can then migrate to a monorepo when you are ready and need one ([more here](/recipes/tips-n-tricks/standalone-to-monorepo)) -- or even [add Webpack Module Federation support](/recipes/angular/module-federation-with-ssr) +- or even [add Webpack Module Federation support](/technologies/angular/recipes/module-federation-with-ssr) ### Visualize your Workspace @@ -405,9 +405,9 @@ Migrating an Angular CLI project to Nx can be done by running npx nx@latest init ``` -or alternatively using the `--integrated` flag if you want to create an Nx monorepo right away. Learn more about all the details on the [dedicated docs page](/recipes/angular/migration/angular). +or alternatively using the `--integrated` flag if you want to create an Nx monorepo right away. Learn more about all the details on the [dedicated docs page](technologies/angular/migration/angular). -There is also a guide describing how to [consolidate multiple Angular CLI projects into a single Nx monorepo](/recipes/angular/migration/angular-multiple). +There is also a guide describing how to [consolidate multiple Angular CLI projects into a single Nx monorepo](technologies/angular/migration/angular-multiple). You can learn more about Angular & Nx by following our dedicated tutorials: diff --git a/docs/shared/guides/nx-devkit-angular-devkit.md b/docs/shared/guides/nx-devkit-angular-devkit.md index 4fb4459e2a..687f7db2a9 100644 --- a/docs/shared/guides/nx-devkit-angular-devkit.md +++ b/docs/shared/guides/nx-devkit-angular-devkit.md @@ -12,7 +12,7 @@ This document covers the difference between Nx Devkit and Angular Devkit. See th Nx comes with a devkit to write generators and executors, but you can also use Angular devkit (schematics and builders). In other words, you can use an Angular schematic to implement a generator, and you can use an Angular builder to implement an executor. {% callout type="check" title="Important" %} -Support to run Angular Devkit builders and schematics is enabled by installing the [`@nx/angular` plugin](/nx-api/angular/documents/overview). This plugin is installed by default when creating a new Angular workspace with Nx or [migrate an existing Angular CLI workspace to Nx](/recipes/angular/migration/angular). +Support to run Angular Devkit builders and schematics is enabled by installing the [`@nx/angular` plugin](/nx-api/angular/documents/overview). This plugin is installed by default when creating a new Angular workspace with Nx or [migrate an existing Angular CLI workspace to Nx](technologies/angular/migration/angular). {% /callout %} **What are the differences between Nx Devkit and Angular Devkit?** diff --git a/docs/shared/guides/remix.md b/docs/shared/guides/remix.md index d3f783e422..a74538bc5b 100644 --- a/docs/shared/guides/remix.md +++ b/docs/shared/guides/remix.md @@ -6,7 +6,7 @@ description: Learn how to create, build, serve, and test Remix applications with {% callout type="warning" title="The future of Remix is React Router" %} Remix has announced its transition to React Router. The `@nx/remix` plugin is based on Remix v2 and is incompatible with the latest version of React Router unless you [upgrade](https://reactrouter.com/upgrading/remix) your Remix application. In the future, the `@nx/remix` plugin will be deprecated in favor of the `@nx/react/router` plugin. If you are starting a new project, we recommend using the `@nx/react/router` plugin instead. -For an example of how to use React Router with Nx, see the [React Router with Nx](/recipes/react/react-router) recipe. +For an example of how to use React Router with Nx, see the [React Router with Nx](/technologies/react/recipes/react-router) recipe. {% /callout %} # Remix with Nx diff --git a/docs/shared/guides/troubleshoot-convert-to-inferred.md b/docs/shared/guides/troubleshoot-convert-to-inferred.md index 4032228a24..c157fbe250 100644 --- a/docs/shared/guides/troubleshoot-convert-to-inferred.md +++ b/docs/shared/guides/troubleshoot-convert-to-inferred.md @@ -99,7 +99,7 @@ to `"type": "module"`. The `generatePackageJson` and `generateLockFile` options in [`@nx/remix:build`](/nx-api/remix/executors/build) cannot currently be migrated. There is support for this feature in -the [Nx Vite plugin](/recipes/vite/configure-vite#typescript-paths), so in the future we may be able to support it if +the [Nx Vite plugin](/technologies/build-tools/vite/recipes/configure-vite#typescript-paths), so in the future we may be able to support it if using Remix+Vite. ## Storybook: Conflicting `staticDir` Options @@ -158,7 +158,7 @@ export default defineConfig({ ## Webpack: Project Cannot Be Migrated Projects that -use [Nx-enhanced Webpack configuration](/recipes/webpack/webpack-config-setup#nxenhanced-configuration-with-composable-plugins) +use [Nx-enhanced Webpack configuration](/technologies/build-tools/webpack/recipes/webpack-config-setup#nxenhanced-configuration-with-composable-plugins) files cannot be migrated to use Webpack CLI. Nx-enhanced configuration files that contain `composePlugins` and `withNx` require the `@nx/webpack:webpack` executor to work. @@ -167,7 +167,7 @@ To solve this issue, run `nx g @nx/webpack:convert-config-to-webpack-plugin` fir ## Webpack: Usage of `useLegacyNxPlugin` When converting -from [Nx-enhanced](/recipes/webpack/webpack-config-setup#nxenhanced-configuration-with-composable-plugins) to basic +from [Nx-enhanced](/technologies/build-tools/webpack/recipes/webpack-config-setup#nxenhanced-configuration-with-composable-plugins) to basic Webpack configuration, we add the `useLegacyNxPlugin` utility function to ensure that your build tasks behave the same after the migration. We recommend that you refactor the configuration such that `useLegacyNxPlugin` is not needed. diff --git a/docs/shared/guides/use-environment-variables-in-react.md b/docs/shared/guides/use-environment-variables-in-react.md index d6922db34b..9aa666ef4f 100644 --- a/docs/shared/guides/use-environment-variables-in-react.md +++ b/docs/shared/guides/use-environment-variables-in-react.md @@ -63,7 +63,7 @@ In React applications (e.g. those using the `@nx/web:webpack` executor or an [in includes the following variables in the build process: - `NODE_ENV` -- Variables prefixed with `NX_PUBLIC`, such as `NX_PUBLIC_CUSTOM_VAR` (when using the [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin) or the [withNx](/recipes/webpack/webpack-plugins#withnx) plugins) +- Variables prefixed with `NX_PUBLIC`, such as `NX_PUBLIC_CUSTOM_VAR` (when using the [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) or the [withNx](/technologies/build-tools/webpack/recipes/webpack-plugins#withnx) plugins) Defining environment variables can vary between OSes. It's also important to know that this is temporary for the life of the shell session. @@ -71,7 +71,7 @@ the shell session. ### Using environment variables in `index.html` Nx supports interpolating environment variables into your `index.html` file for React and Web applications built with Webpack. -This feature is available when using the [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin) or the [withNx](/recipes/webpack/webpack-plugins#withnx) plugins. +This feature is available when using the [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) or the [withNx](/technologies/build-tools/webpack/recipes/webpack-plugins#withnx) plugins. {% callout type="note" title="Predefined Nx variable" %} Note that with the release of Nx 19, you won't be able to use predefined Nx variable on this [link](/reference/environment-variables). diff --git a/docs/shared/migration/from-turborepo.md b/docs/shared/migration/from-turborepo.md index cbe1f98be8..11dcbaae7f 100644 --- a/docs/shared/migration/from-turborepo.md +++ b/docs/shared/migration/from-turborepo.md @@ -222,16 +222,16 @@ Most settings in the old `turbo.json` file can be converted directly into `nx.js ### Global Configuration -| Turborepo Property | Nx Equivalent | -| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `cacheDir` | Set in [`cacheDirectory`](/reference/nx-json#task-options) | -| `daemon` | Use [`NX_DAEMON=false` or set `useDaemonProcess: false`](/concepts/nx-daemon#turning-it-off) in `nx.json` | -| `envMode` | Nx core does not block any environment variables. See [React](/recipes/react/use-environment-variables-in-react) and [Angular](/recipes/angular/use-environment-variables-in-angular) guides | -| `globalDependencies` | Add to the [`sharedGlobals` `namedInput`](/recipes/running-tasks/configure-inputs) | -| `globalEnv` | Add to the [`sharedGlobals` `namedInput`](/recipes/running-tasks/configure-inputs) as an [`env` input](/reference/inputs#environment-variables) | -| `globalPassThroughEnv` | N/A. See [Defining Environment Variables](/recipes/tips-n-tricks/define-environment-variables) | -| `remoteCache` | See [Nx Replay](/ci/features/remote-cache) | -| `ui` | Nx will intelligently pick the most appropriate terminal output style, but it can be overridden with [`--output-style`](/nx-api/nx/documents/run-many#output-style) | +| Turborepo Property | Nx Equivalent | +| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `cacheDir` | Set in [`cacheDirectory`](/reference/nx-json#task-options) | +| `daemon` | Use [`NX_DAEMON=false` or set `useDaemonProcess: false`](/concepts/nx-daemon#turning-it-off) in `nx.json` | +| `envMode` | Nx core does not block any environment variables. See [React](/technologies/react/recipes/use-environment-variables-in-react) and [Angular](/technologies/angular/recipes/use-environment-variables-in-angular) guides | +| `globalDependencies` | Add to the [`sharedGlobals` `namedInput`](/recipes/running-tasks/configure-inputs) | +| `globalEnv` | Add to the [`sharedGlobals` `namedInput`](/recipes/running-tasks/configure-inputs) as an [`env` input](/reference/inputs#environment-variables) | +| `globalPassThroughEnv` | N/A. See [Defining Environment Variables](/recipes/tips-n-tricks/define-environment-variables) | +| `remoteCache` | See [Nx Replay](/ci/features/remote-cache) | +| `ui` | Nx will intelligently pick the most appropriate terminal output style, but it can be overridden with [`--output-style`](/nx-api/nx/documents/run-many#output-style) | ### Task Configuration @@ -252,37 +252,37 @@ Most settings in the old `turbo.json` file can be converted directly into `nx.js Here's how Turborepo commands map to Nx: -| Turborepo Command | Nx Equivalent | -| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `turbo run test lint build` | [`nx run-many -t test lint build`](/nx-api/nx/documents/run-many) | -| `--cache-dir` | Set in [`nx.json` under `cacheDirectory`](/reference/nx-json#task-options) | -| `--concurrency` | [`--parallel`](/nx-api/nx/documents/run-many#parallel) | -| `--continue` | [Use `--nx-bail`](/nx-api/nx/documents/run-many#nx-bail) with the inverse value | -| `--cpuprofile` | Use [`NX_PROFILE=profile.json`](/troubleshooting/performance-profiling) | -| `--cwd` | Available in [`run-commands` executor](/nx-api/nx/executors/run-commands#cwd) | -| `--daemon` | Use [`NX_DAEMON=false` or set `useDaemonProcess: false`](/concepts/nx-daemon#turning-it-off) | -| `--dry-run` | N/A. Nx has `--dry-run` for `nx generate` but not for running tasks | -| `--env-mode` | See [React](/recipes/react/use-environment-variables-in-react) and [Angular](/recipes/angular/use-environment-variables-in-angular) guides | -| `--filter` | Use lots of advanced project matcher syntax like [`-p admin-*` or `-p tag:api-*`](/nx-api/nx/documents/run-many#projects) | -| `--force` | [`nx reset`](/nx-api/nx/documents/reset) and then run the command again | -| `--framework-inference` | N/A. [Nx plugins infer tasks automatically as a first class feature](/concepts/inferred-tasks) | -| `--global-deps` | Use [`inputs` in `nx.json`](/recipes/running-tasks/configure-inputs) | -| `--graph` | [Similar syntax](/nx-api/nx/documents/run-many#graph) or [`nx graph`](/nx-api/nx/documents/dep-graph) for full interactive experience | -| `--heap` | N/A. Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | -| `--ignore` | Use [`.nxignore`](/reference/nxignore) or `.gitignore` | -| `--log-order` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) | -| `--no-cache` | Use [`--skip-nx-cache`](/nx-api/nx/documents/run-many#skip-nx-cache) | -| `--output-logs` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) | -| `--only` | N/A | -| `--parallel` | N/A | -| `--preflight` | N/A | -| `--summarize` | N/A | -| `--token` | Set [Nx Cloud CI Access Token](/ci/recipes/security/access-tokens#setting-ci-access-tokens) | -| `--team` | See `--token` for Nx Cloud workspace selection | -| `--trace` | N/A. Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | -| `--verbosity` | Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | -| `turbo gen` | [Use `nx generate`](/nx-api/nx/documents/generate) | -| `turbo login` | `nx login` - [Create an Nx Cloud account](/nx-api/nx/documents/connect-to-nx-cloud) | -| `turbo link` | `nx connect` - [Connect a workspace to an Nx Cloud account](/nx-api/nx/documents/connect-to-nx-cloud) | +| Turborepo Command | Nx Equivalent | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `turbo run test lint build` | [`nx run-many -t test lint build`](/nx-api/nx/documents/run-many) | +| `--cache-dir` | Set in [`nx.json` under `cacheDirectory`](/reference/nx-json#task-options) | +| `--concurrency` | [`--parallel`](/nx-api/nx/documents/run-many#parallel) | +| `--continue` | [Use `--nx-bail`](/nx-api/nx/documents/run-many#nx-bail) with the inverse value | +| `--cpuprofile` | Use [`NX_PROFILE=profile.json`](/troubleshooting/performance-profiling) | +| `--cwd` | Available in [`run-commands` executor](/nx-api/nx/executors/run-commands#cwd) | +| `--daemon` | Use [`NX_DAEMON=false` or set `useDaemonProcess: false`](/concepts/nx-daemon#turning-it-off) | +| `--dry-run` | N/A. Nx has `--dry-run` for `nx generate` but not for running tasks | +| `--env-mode` | See [React](/technologies/react/recipes/use-environment-variables-in-react) and [Angular](/technologies/angular/recipes/use-environment-variables-in-angular) guides | +| `--filter` | Use lots of advanced project matcher syntax like [`-p admin-*` or `-p tag:api-*`](/nx-api/nx/documents/run-many#projects) | +| `--force` | [`nx reset`](/nx-api/nx/documents/reset) and then run the command again | +| `--framework-inference` | N/A. [Nx plugins infer tasks automatically as a first class feature](/concepts/inferred-tasks) | +| `--global-deps` | Use [`inputs` in `nx.json`](/recipes/running-tasks/configure-inputs) | +| `--graph` | [Similar syntax](/nx-api/nx/documents/run-many#graph) or [`nx graph`](/nx-api/nx/documents/dep-graph) for full interactive experience | +| `--heap` | N/A. Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | +| `--ignore` | Use [`.nxignore`](/reference/nxignore) or `.gitignore` | +| `--log-order` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) | +| `--no-cache` | Use [`--skip-nx-cache`](/nx-api/nx/documents/run-many#skip-nx-cache) | +| `--output-logs` | Use [`--output-style`](/nx-api/nx/documents/run-many#output-style) | +| `--only` | N/A | +| `--parallel` | N/A | +| `--preflight` | N/A | +| `--summarize` | N/A | +| `--token` | Set [Nx Cloud CI Access Token](/ci/recipes/security/access-tokens#setting-ci-access-tokens) | +| `--team` | See `--token` for Nx Cloud workspace selection | +| `--trace` | N/A. Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | +| `--verbosity` | Use [`--verbose`](/nx-api/nx/documents/run-many#verbose) | +| `turbo gen` | [Use `nx generate`](/nx-api/nx/documents/generate) | +| `turbo login` | `nx login` - [Create an Nx Cloud account](/nx-api/nx/documents/connect-to-nx-cloud) | +| `turbo link` | `nx connect` - [Connect a workspace to an Nx Cloud account](/nx-api/nx/documents/connect-to-nx-cloud) | For a complete list of Nx commands and options, see the [Nx CLI documentation](/nx-api/nx). diff --git a/docs/shared/migration/migration-angular.md b/docs/shared/migration/migration-angular.md index 0045c926c3..9f798bb93c 100644 --- a/docs/shared/migration/migration-angular.md +++ b/docs/shared/migration/migration-angular.md @@ -225,7 +225,7 @@ Learn more about the advantages of Nx in the following guides: - [Computation Caching](/concepts/how-caching-works) - [Rebuilding and Retesting What is Affected](/ci/features/affected) - [Integrate with Editors](/getting-started/editor-setup) -- [Advanced Angular Micro Frontends with Dynamic Module Federation](/recipes/angular/dynamic-module-federation-with-angular) +- [Advanced Angular Micro Frontends with Dynamic Module Federation](/technologies/angular/recipes/dynamic-module-federation-with-angular) ## From Nx Console @@ -242,6 +242,6 @@ Once the script has run, commit the changes. Reverting this commit will effectiv {% 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="Multiple Angular Repositories to one Nx Workspace" description="Combine multiple Angular CLI workspaces into one Nx workspace" type="documentation" url="/recipes/angular/migration/angular-multiple" /%} +{% 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" /%} {% /cards %} diff --git a/docs/shared/packages/angular/angular-nx-version-matrix.md b/docs/shared/packages/angular/angular-nx-version-matrix.md index 42894a74f8..1d8f385b2d 100644 --- a/docs/shared/packages/angular/angular-nx-version-matrix.md +++ b/docs/shared/packages/angular/angular-nx-version-matrix.md @@ -50,7 +50,7 @@ Additionally, you can check the supported versions of Node and Typescript for th ## Nx and Angular Rspack Version Compatibility Matrix -Below is a reference table that matches versions of [Angular Rspack](/recipes/angular/rspack/introduction) to the versions of Angular and Nx that is compatible with it. +Below is a reference table that matches versions of [Angular Rspack](/technologies/angular/angular-rspack/introduction) to the versions of Angular and Nx that is compatible with it. | Angular Rspack | Angular | Nx | | -------------- | ----------- | ------------------- | diff --git a/docs/shared/packages/angular/angular-plugin.md b/docs/shared/packages/angular/angular-plugin.md index 579abcea17..5c7a4934e3 100644 --- a/docs/shared/packages/angular/angular-plugin.md +++ b/docs/shared/packages/angular/angular-plugin.md @@ -26,7 +26,7 @@ Among other things, it provides: {% callout type="note" title="Currently using the Angular CLI?" %} You can easily and mostly **automatically migrate from an Angular CLI** project to Nx! Learn -more [here](/recipes/angular/migration/angular). +more [here](technologies/angular/migration/angular). {% /callout %} ## Setting Up @nx/angular @@ -114,6 +114,6 @@ nx g @nx/angular:service apps/appName/src/lib/my-service/my-service ## More Documentation - [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial) -- [Migrating from the Angular CLI](/recipes/angular/migration/angular) -- [Setup Module Federation with Angular and Nx](/concepts/module-federation/faster-builds-with-module-federation) -- [Using Tailwind CSS with Angular projects](/recipes/angular/using-tailwind-css-with-angular-projects) +- [Migrating from the Angular CLI](technologies/angular/migration/angular) +- [Setup Module Federation with Angular and Nx](/technologies/module-federation/concepts/faster-builds-with-module-federation) +- [Using Tailwind CSS with Angular projects](/technologies/angular/recipes/using-tailwind-css-with-angular-projects) diff --git a/docs/shared/packages/cypress/cypress-component-testing.md b/docs/shared/packages/cypress/cypress-component-testing.md index cb07901ce3..de6d3f4d7d 100644 --- a/docs/shared/packages/cypress/cypress-component-testing.md +++ b/docs/shared/packages/cypress/cypress-component-testing.md @@ -6,7 +6,7 @@ description: Learn how to set up and use Cypress component testing in your Nx wo # Cypress Component Testing > Component testing requires Cypress v10 and above. -> See our [guide for more information](/recipes/cypress/cypress-v11-migration) to migrate to Cypress v10. +> See our [guide for more information](/technologies/test-tools/cypress/recipes/cypress-v11-migration) to migrate to Cypress v10. Unlike [E2E testing](/nx-api/cypress), component testing does not create a new project. Instead, Cypress component testing is added directly to a project, like [Jest](/nx-api/jest) diff --git a/docs/shared/packages/cypress/cypress-plugin.md b/docs/shared/packages/cypress/cypress-plugin.md index 3e0f674602..d26921486f 100644 --- a/docs/shared/packages/cypress/cypress-plugin.md +++ b/docs/shared/packages/cypress/cypress-plugin.md @@ -14,7 +14,7 @@ Cypress is a test runner built for the modern web. It has a lot of great feature ## Setting Up @nx/cypress -> Info about [Cypress Component Testing can be found here](/recipes/cypress/cypress-component-testing) +> Info about [Cypress Component Testing can be found here](/technologies/test-tools/cypress/recipes/cypress-component-testing) ### Installation @@ -111,7 +111,7 @@ export default defineConfig({ ``` {% callout type="note" title="Using setupNodeEvents function" %} -If you use the `setupNodeEvents` function in your Cypress configuration, make sure to invoke the same function that is returned by `nxE2EPreset`. See the recipe on [using `setupNodeEvents` with Cypress preset](/recipes/cypress/cypress-setup-node-events) for more details. +If you use the `setupNodeEvents` function in your Cypress configuration, make sure to invoke the same function that is returned by `nxE2EPreset`. See the recipe on [using `setupNodeEvents` with Cypress preset](/technologies/test-tools/cypress/recipes/cypress-setup-node-events) for more details. {% /callout %} ## E2E Testing diff --git a/docs/shared/packages/express/express-plugin.md b/docs/shared/packages/express/express-plugin.md index cfc6fbd825..dbf1251060 100644 --- a/docs/shared/packages/express/express-plugin.md +++ b/docs/shared/packages/express/express-plugin.md @@ -33,5 +33,5 @@ This will install the correct version of `@nx/express`. ## Recipes - [Add an Express Application to Your Workspace](/showcase/example-repos/add-express) -- [Set Up Application Proxies](/recipes/node/application-proxies) -- [Wait For Tasks To Finish](/recipes/node/wait-for-tasks) +- [Set Up Application Proxies](/technologies/node/recipes/application-proxies) +- [Wait For Tasks To Finish](/technologies/node/recipes/wait-for-tasks) diff --git a/docs/shared/packages/module-federation/nx-module-federation-dev-server-plugin.md b/docs/shared/packages/module-federation/nx-module-federation-dev-server-plugin.md index 572d15d47f..7a1e5a78b3 100644 --- a/docs/shared/packages/module-federation/nx-module-federation-dev-server-plugin.md +++ b/docs/shared/packages/module-federation/nx-module-federation-dev-server-plugin.md @@ -58,7 +58,7 @@ export default { ## How it works The `NxModuleFederationDevServerPlugin` and `NxModuleFederationSSRDevServerPlugin` will serve the remote applications in via a single file server (using `http-server`) and proxy requests to the remote applications to the correct port. This allows for a more streamlined development experience when working with module federation. -You can learn more about this experience in the [Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview). +You can learn more about this experience in the [Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview). The key difference between `NxModuleFederationDevServerPlugin` and `NxModuleFederationSSRDevServerPlugin` is that the latter will handle both `browser` and `server` bundles to support Server Side Rendering (SSR). It will also serve the host/consumer application by forking ([child_process.fork](https://nodejs.org/api/child_process.html#child_processforkmodulepath-args-options)) the `server.js` output from the `server` bundle of the host application. diff --git a/docs/shared/packages/module-federation/nx-module-federation-plugin.md b/docs/shared/packages/module-federation/nx-module-federation-plugin.md index 3b92afe97d..f719410bfd 100644 --- a/docs/shared/packages/module-federation/nx-module-federation-plugin.md +++ b/docs/shared/packages/module-federation/nx-module-federation-plugin.md @@ -89,7 +89,7 @@ The NxModuleFederationPlugin wraps and configures the Module Federation plugin f 4. **Shared Libraries**: The plugin includes a dedicated system for managing shared libraries across federated modules, helping to avoid duplicate code and ensure consistent versions. -You can learn more about how Nx handles Module Federation in the [Module Federation and Nx Guide](/concepts/module-federation/module-federation-and-nx#nx-support-for-module-federation). +You can learn more about how Nx handles Module Federation in the [Module Federation and Nx Guide](/technologies/module-federation/concepts/module-federation-and-nx#nx-support-for-module-federation). ## API Reference diff --git a/docs/shared/packages/nest/nest-plugin.md b/docs/shared/packages/nest/nest-plugin.md index 241d1d7e4a..50f2eb480a 100644 --- a/docs/shared/packages/nest/nest-plugin.md +++ b/docs/shared/packages/nest/nest-plugin.md @@ -189,13 +189,13 @@ Ensuring a smooth and reliable deployment of a Nest.js application in a producti Create a Dockerfile that specifies the application's environment and dependencies. Build a Docker image and optionally push it to a container registry. Deploy and run the Docker container on the server. Utilize the `@nx/node:setup-docker` generator to streamline the Docker setup process. 2. **Installing Dependencies on the Server:** - Transfer the build artifacts to the server, install all dependencies using the package manager of your choice, and start the application. Ensure that [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin) is configured with `generatePackageJson: true` so that the build artifacts directory includes `package.json` and `package-lock.json` (or the equivalent files for other package managers). + Transfer the build artifacts to the server, install all dependencies using the package manager of your choice, and start the application. Ensure that [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) is configured with `generatePackageJson: true` so that the build artifacts directory includes `package.json` and `package-lock.json` (or the equivalent files for other package managers). 3. **Transferring Pre-installed Dependencies:** Install dependencies during the build process, and transfer the build artifacts along with the `node_modules` directory to the server. Typically, the artifacts are archived for faster transfer and then unarchived on the server. 4. **Bundling Dependencies:** - By default, Nx/Nest creates a setup that externalizes all dependencies, meaning they are not included in the bundle. This behavior can be adjusted using the `externalDependencies` parameter in the webpack configuration with [NxAppWebpackPlugin](/recipes/webpack/webpack-plugins#nxappwebpackplugin). After bundling, transfer the package to the server and start the application. + By default, Nx/Nest creates a setup that externalizes all dependencies, meaning they are not included in the bundle. This behavior can be adjusted using the `externalDependencies` parameter in the webpack configuration with [NxAppWebpackPlugin](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin). After bundling, transfer the package to the server and start the application. {% callout type="note" title="Bundling Dependencies" %} Bundling dependencies is typically not recommended for Node applications. diff --git a/docs/shared/packages/next/plugin-overview.md b/docs/shared/packages/next/plugin-overview.md index 7db678a1f0..9436bd7ee1 100644 --- a/docs/shared/packages/next/plugin-overview.md +++ b/docs/shared/packages/next/plugin-overview.md @@ -338,7 +338,7 @@ This command performs several actions: Once you are ready to deploy your Next.js application, you have absolute freedom to choose any hosting provider that fits your needs. -You may know that the company behind Next.js, Vercel, has a great hosting platform offering that is developed in tandem with Next.js itself to offer a great overall developer and user experience. We have detailed [how to deploy your Next.js application to Vercel in a separate guide](/recipes/react/deploy-nextjs-to-vercel). +You may know that the company behind Next.js, Vercel, has a great hosting platform offering that is developed in tandem with Next.js itself to offer a great overall developer and user experience. We have detailed [how to deploy your Next.js application to Vercel in a separate guide](/technologies/react/recipes/deploy-nextjs-to-vercel). ## More Documentation diff --git a/docs/shared/packages/nuxt/nuxt-plugin.md b/docs/shared/packages/nuxt/nuxt-plugin.md index 91f20b902b..bd088d96fe 100644 --- a/docs/shared/packages/nuxt/nuxt-plugin.md +++ b/docs/shared/packages/nuxt/nuxt-plugin.md @@ -81,7 +81,7 @@ nx g @nx/nuxt:app apps/my-app Once you are ready to deploy your Nuxt application, you have absolute freedom to choose any hosting provider that fits your needs. -We have detailed [how to deploy your Nuxt application to Vercel in a separate guide](/recipes/nuxt/deploy-nuxt-to-vercel). +We have detailed [how to deploy your Nuxt application to Vercel in a separate guide](/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel). ### E2E testing diff --git a/docs/shared/packages/react/react-plugin.md b/docs/shared/packages/react/react-plugin.md index fa0e7372f6..cd9cb01a6a 100644 --- a/docs/shared/packages/react/react-plugin.md +++ b/docs/shared/packages/react/react-plugin.md @@ -138,4 +138,4 @@ The library in `dist` is publishable to npm or a private registry. - [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial) - [Using Cypress](/nx-api/cypress) - [Using Jest](/nx-api/jest) -- [Using Storybook](/recipes/storybook/overview-react) +- [Using Storybook](/technologies/test-tools/storybook/recipes/overview-react) diff --git a/docs/shared/packages/storybook/best-practices.md b/docs/shared/packages/storybook/best-practices.md index e715968a4f..0371cbccb7 100644 --- a/docs/shared/packages/storybook/best-practices.md +++ b/docs/shared/packages/storybook/best-practices.md @@ -39,11 +39,11 @@ If you are on a project using Angular, React or React Native, you can also gener If your project is not configured yet, check out one of these guides: -- [Set up Storybook for React (and Next.js) Projects](/recipes/storybook/overview-react) +- [Set up Storybook for React (and Next.js) Projects](/technologies/test-tools/storybook/recipes/overview-react) -- [Set up Storybook for Angular Projects](/recipes/storybook/overview-angular) +- [Set up Storybook for Angular Projects](/technologies/test-tools/storybook/recipes/overview-angular) -- [Set up Storybook for Vue Projects](/recipes/storybook/overview-vue) +- [Set up Storybook for Vue Projects](/technologies/test-tools/storybook/recipes/overview-vue) If your project is [already configured](/nx-api/storybook), you can use the `stories` generator: @@ -61,7 +61,7 @@ The stories generator will read your inputs (if you’re using Angular), or your [Storybook interaction tests](https://storybook.js.org/docs/react/writing-tests/interaction-testing) allow you to test user interactions within your Storybook stories. It enhances your [Storybook](https://storybook.js.org/) setup, ensuring that not only do your components look right, but they also work correctly when interacted with. -Nx will generate interaction tests for your stories. You can read more in our [Setting up Storybook Interaction Tests with Nx guide](/recipes/storybook/storybook-interaction-tests). +Nx will generate interaction tests for your stories. You can read more in our [Setting up Storybook Interaction Tests with Nx guide](/technologies/test-tools/storybook/recipes/storybook-interaction-tests). ### CI/CD tools @@ -126,7 +126,7 @@ You can think of the central Storybook container as a grouping of similar-concep Then, according to your use-case, you can have one central Storybook for your whole workspace, importing all the stories from all the projects. Alternatively, you can have one Storybook per "scope", which imports all the stories from projects the same scope. Or even one Storybook per application, importing all the stories of all the libraries that it is depending on. As you can see, there are many options, and you can choose the one that best suits your needs. {% callout type="note" title="Storybook Composition" %} -In order to achieve some things mentioned above, you may use [Storybook Composition](/recipes/storybook/storybook-composition-setup). However, in this case, you would still need to build each project’s Storybook individually, and also deploy it individually. So in the cases where you have multiple projects, Storybook Composition would not be very efficient. +In order to achieve some things mentioned above, you may use [Storybook Composition](/technologies/test-tools/storybook/recipes/storybook-composition-setup). However, in this case, you would still need to build each project’s Storybook individually, and also deploy it individually. So in the cases where you have multiple projects, Storybook Composition would not be very efficient. {% /callout %} Before moving on to the examples section, it could be useful to read the [Library Types](/concepts/decisions/project-dependency-rules) documentation page and the [Grouping libraries](/concepts/decisions/folder-structure) documentation page. These could help you decide which way fits your use case better. @@ -135,9 +135,9 @@ Before moving on to the examples section, it could be useful to read the [Librar You can check out the following examples (recipes) to see publishing strategies for Storybook in Nx: -- [One main Storybook instance for all projects](/recipes/storybook/one-storybook-for-all) -- [One Storybook instance per scope](/recipes/storybook/one-storybook-per-scope) -- [One main Storybook instance using Storybook Composition](/recipes/storybook/one-storybook-with-composition) +- [One main Storybook instance for all projects](/technologies/test-tools/storybook/recipes/one-storybook-for-all) +- [One Storybook instance per scope](/technologies/test-tools/storybook/recipes/one-storybook-per-scope) +- [One main Storybook instance using Storybook Composition](/technologies/test-tools/storybook/recipes/one-storybook-with-composition) ## Conclusion diff --git a/docs/shared/packages/storybook/plugin-overview.md b/docs/shared/packages/storybook/plugin-overview.md index 9fbfee2842..8b0cd67713 100644 --- a/docs/shared/packages/storybook/plugin-overview.md +++ b/docs/shared/packages/storybook/plugin-overview.md @@ -221,7 +221,7 @@ export default config; ### Setting up documentation -To set up documentation, you can use [Storybook Autodocs](https://storybook.js.org/docs/react/writing-docs/autodocs). For Angular, [you can use `compodoc`](/recipes/storybook/angular-storybook-compodoc) to infer `argTypes`. You can read more about `argTypes` in the [official Storybook `argTypes` documentation](https://storybook.js.org/docs/angular/api/argtypes#automatic-argtype-inference). +To set up documentation, you can use [Storybook Autodocs](https://storybook.js.org/docs/react/writing-docs/autodocs). For Angular, [you can use `compodoc`](/technologies/test-tools/storybook/recipes/angular-storybook-compodoc) to infer `argTypes`. You can read more about `argTypes` in the [official Storybook `argTypes` documentation](https://storybook.js.org/docs/angular/api/argtypes#automatic-argtype-inference). You can read more about how to best set up documentation using Storybook for your project in the [official Storybook documentation](https://storybook.js.org/docs/react/writing-docs/introduction). @@ -229,11 +229,11 @@ You can read more about how to best set up documentation using Storybook for you You can find dedicated information for React and Angular: -- [Set up Storybook for Angular Projects](/recipes/storybook/overview-angular) -- [Set up Storybook for React Projects](/recipes/storybook/overview-react) -- [Set up Storybook for Vue Projects](/recipes/storybook/overview-vue) +- [Set up Storybook for Angular Projects](/technologies/test-tools/storybook/recipes/overview-angular) +- [Set up Storybook for React Projects](/technologies/test-tools/storybook/recipes/overview-react) +- [Set up Storybook for Vue Projects](/technologies/test-tools/storybook/recipes/overview-vue) -You can find all Storybook-related Nx documentation in the [Storybook recipes section](/recipes/storybook). +You can find all Storybook-related Nx documentation in the [Storybook recipes section](/technologies/test-tools/storybook/recipes). For more on using Storybook, see the [official Storybook documentation](https://storybook.js.org/docs/basics/introduction/). diff --git a/docs/shared/packages/webpack/plugin-overview.md b/docs/shared/packages/webpack/plugin-overview.md index 441f31ced2..5d42770d71 100644 --- a/docs/shared/packages/webpack/plugin-overview.md +++ b/docs/shared/packages/webpack/plugin-overview.md @@ -7,7 +7,7 @@ The Nx plugin for [webpack](https://webpack.js.org/). [Webpack](https://webpack.js.org/) is a static module bundler for modern JavaScript applications. The `@nx/webpack` plugin provides executors that allow you to build and serve your projects using webpack, plus an executor for SSR. -Nx now allows you to [customize your webpack configuration](/recipes/webpack/webpack-config-setup) for your projects. And we also offer [a number of webpack plugins](/recipes/webpack/webpack-plugins) for supporting Nx and other frameworks. +Nx now allows you to [customize your webpack configuration](/technologies/build-tools/webpack/recipes/webpack-config-setup) for your projects. And we also offer [a number of webpack plugins](/technologies/build-tools/webpack/recipes/webpack-plugins) for supporting Nx and other frameworks. ## Setting up a new Nx workspace with Webpack diff --git a/docs/shared/packages/webpack/webpack-config-setup.md b/docs/shared/packages/webpack/webpack-config-setup.md index 8c575ea468..b96342e44c 100644 --- a/docs/shared/packages/webpack/webpack-config-setup.md +++ b/docs/shared/packages/webpack/webpack-config-setup.md @@ -80,14 +80,14 @@ module.exports = { }; ``` -The [`NxAppWebpackPlugin`](/recipes/webpack/webpack-plugins#nxappwebpackplugin) plugin takes a `main` entry file and produces a bundle in the output directory as defined in `output.path`. You can also pass the `index` option if it is a webapp, which will handle outputting scripts and stylesheets in the output file. Note that `NxWebpackPlugin` is optional, and you can bring your own Webpack configuration without using it or any plugins from `@nx/webpack`. +The [`NxAppWebpackPlugin`](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) plugin takes a `main` entry file and produces a bundle in the output directory as defined in `output.path`. You can also pass the `index` option if it is a webapp, which will handle outputting scripts and stylesheets in the output file. Note that `NxWebpackPlugin` is optional, and you can bring your own Webpack configuration without using it or any plugins from `@nx/webpack`. -For more information, see the [Webpack plugins guide](/recipes/webpack/webpack-plugins). +For more information, see the [Webpack plugins guide](/technologies/build-tools/webpack/recipes/webpack-plugins). ### Nx-enhanced configuration with composable plugins {% callout type="info" title="Non-standard webpack config" %} -Nx-enhanced configuration, via `composePlugins` and [`withNx`](/recipes/webpack/webpack-plugins#withnx) functions, requires the usage of `@nx/webpack:webpack` executor in your `project.json` file. This flavor of configuration do not work with the Webpack CLI. +Nx-enhanced configuration, via `composePlugins` and [`withNx`](/technologies/build-tools/webpack/recipes/webpack-plugins#withnx) functions, requires the usage of `@nx/webpack:webpack` executor in your `project.json` file. This flavor of configuration do not work with the Webpack CLI. {% /callout %} Nx supports a function to be returned from the Webpack configuration file. This function is a composable plugin that is understood by the `@nx/webpack:webpack` executor. The enhanced configuration looks something like this: @@ -118,7 +118,7 @@ This gives you the ability to customize the Webpack configuration as needed, and #### Additional composable plugins for Nx -In addition to the `withNx` composable plugin, Nx provides other composable plugins such as `withWeb`, `withReact`, and `withModuleFederation`. You can read more about how these plugins work and how to use them in our [Webpack plugins guide](/recipes/webpack/webpack-plugins). +In addition to the `withNx` composable plugin, Nx provides other composable plugins such as `withWeb`, `withReact`, and `withModuleFederation`. You can read more about how these plugins work and how to use them in our [Webpack plugins guide](/technologies/build-tools/webpack/recipes/webpack-plugins). ## Customize your Webpack configuration @@ -191,7 +191,7 @@ module.exports = composePlugins( `composePlugins`, `withNx`, and `withModuleFederation` do not work with the Webpack CLI and requires the use of the `@nx/webpack:webpack` executor. {% /callout %} -If you use the [Module Federation](/concepts/module-federation/faster-builds-with-module-federation) support +If you use the [Module Federation](/technologies/module-federation/concepts/faster-builds-with-module-federation) support from `@nx/angular` or `@nx/react` then you can customize your Webpack configuration as follows. diff --git a/docs/shared/packages/webpack/webpack-plugins.md b/docs/shared/packages/webpack/webpack-plugins.md index e622be408a..a7df7bc7a1 100644 --- a/docs/shared/packages/webpack/webpack-plugins.md +++ b/docs/shared/packages/webpack/webpack-plugins.md @@ -17,7 +17,7 @@ generated with Nx-enhanced plugins and require `@nx/webpack:webpack` executor to This guide contains information on the plugins provided by Nx. For more information on webpack configuration and the difference between basic and Nx-enhanced configuration, refer to -the [Nx Webpack configuration guide](/recipes/webpack/webpack-config-setup). +the [Nx Webpack configuration guide](/technologies/build-tools/webpack/recipes/webpack-config-setup). ## Basic plugins @@ -368,7 +368,7 @@ module.exports = { ## Nx-enhanced plugins The Nx-enhanced plugins work with `@nx/webpack:webpack` executor and receive the target options and context from the -executor. These are used prior to Nx 18, and are still used when using [Module Federation](/concepts/module-federation/module-federation-and-nx). +executor. These are used prior to Nx 18, and are still used when using [Module Federation](/technologies/module-federation/concepts/module-federation-and-nx). The plugins are used in conjunction with `composePlugins` utility to generate a final Webpack configuration object, once all of the plugins have applied their changes. @@ -546,10 +546,10 @@ 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. +[`ModuleFederationPlugin`](https://webpack.js.org/technologies/module-federation/concepts/) and provide a simpler API through Nx. For more information, refer to -the [Module Federation recipe](/concepts/module-federation/faster-builds-with-module-federation). +the [Module Federation recipe](/technologies/module-federation/concepts/faster-builds-with-module-federation). #### Options diff --git a/docs/shared/recipes/ci-deployment.md b/docs/shared/recipes/ci-deployment.md index 7fbd2a01c0..20b8c3cf9a 100644 --- a/docs/shared/recipes/ci-deployment.md +++ b/docs/shared/recipes/ci-deployment.md @@ -38,7 +38,7 @@ Where `build`, `serve`, `serve-static` and `preview` in conjunction with your `w ### NxAppWebpackPlugin -The [`NxAppWebpackPlugin`](/recipes/webpack/webpack-plugins#nxappwebpackplugin) plugin takes a `main` entry file and produces a bundle in the output directory as defined in `output.path`. You can also pass the `index` option if it is a web app, which will handle outputting scripts and stylesheets in the output file. +The [`NxAppWebpackPlugin`](/technologies/build-tools/webpack/recipes/webpack-plugins#nxappwebpackplugin) plugin takes a `main` entry file and produces a bundle in the output directory as defined in `output.path`. You can also pass the `index` option if it is a web app, which will handle outputting scripts and stylesheets in the output file. To generate a `package.json` we would declare it in the plugin options. diff --git a/docs/shared/recipes/module-federation-with-ssr.md b/docs/shared/recipes/module-federation-with-ssr.md index 521b1cf601..6248b25427 100644 --- a/docs/shared/recipes/module-federation-with-ssr.md +++ b/docs/shared/recipes/module-federation-with-ssr.md @@ -140,6 +140,6 @@ 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: -- [Concepts: Nx Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview) -- [Guide: Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation) +- [Concepts: Nx Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview) +- [Guide: Faster Builds with Module Federation](/technologies/module-federation/concepts/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/recipes/module-federation/creating-a-host.md b/docs/shared/recipes/module-federation/creating-a-host.md index 89910d1dc9..99e76ee22d 100644 --- a/docs/shared/recipes/module-federation/creating-a-host.md +++ b/docs/shared/recipes/module-federation/creating-a-host.md @@ -259,7 +259,7 @@ simple as running: nx serve shell ``` -When you serve your `host`, Nx will discover any dependent remote applications that are also in the workspace and serve them statically. To learn more about check out our in-depth breakdown of [what happens when you serve your host](/concepts/module-federation/nx-module-federation-technical-overview#what-happens-when-you-serve-your-host). +When you serve your `host`, Nx will discover any dependent remote applications that are also in the workspace and serve them statically. To learn more about check out our in-depth breakdown of [what happens when you serve your host](/technologies/module-federation/concepts/nx-module-federation-technical-overview#what-happens-when-you-serve-your-host). ## Building your Host @@ -269,7 +269,7 @@ In the same vein, you can build your host by running: nx build shell ``` -To support [Independent Deployability](/concepts/module-federation/module-federation-and-nx#independent-deployability) `host` applications do not have `implicitDependencies` set in their `project.json`. If you want to build all your `remotes` when you build your `host`, add `implicitDependencies` to your `host`'s `project.json` with each `remote` listed: +To support [Independent Deployability](/technologies/module-federation/concepts/module-federation-and-nx#independent-deployability) `host` applications do not have `implicitDependencies` set in their `project.json`. If you want to build all your `remotes` when you build your `host`, add `implicitDependencies` to your `host`'s `project.json` with each `remote` listed: ```json { diff --git a/docs/shared/recipes/module-federation/creating-a-remote.md b/docs/shared/recipes/module-federation/creating-a-remote.md index f45ea58d98..4033fe3ea8 100644 --- a/docs/shared/recipes/module-federation/creating-a-remote.md +++ b/docs/shared/recipes/module-federation/creating-a-remote.md @@ -117,7 +117,7 @@ module.exports = { {% callout type="note" title="Creating a Host" %} If you do not already have a host application in your workspace, look at -the [Create a Host Recipe](/recipes/module-federation/create-a-host) for more information on how to achieve +the [Create a Host Recipe](/technologies/module-federation/recipes/create-a-host) for more information on how to achieve this. {% /callout %} diff --git a/docs/shared/recipes/module-federation/federate-a-module.md b/docs/shared/recipes/module-federation/federate-a-module.md index 2e958d80d1..7907752078 100644 --- a/docs/shared/recipes/module-federation/federate-a-module.md +++ b/docs/shared/recipes/module-federation/federate-a-module.md @@ -15,7 +15,7 @@ In order to share a module, it must be _federated_. This means that the module m {% callout type="info" title="Assumption" %} With this recipe we assume that you have already created a workspace with at least one React or Angular Module Federation host application. -If you haven't, you can follow the [Create a Host Recipe](/recipes/module-federation/create-a-host). +If you haven't, you can follow the [Create a Host Recipe](/technologies/module-federation/recipes/create-a-host). {% /callout %} ## Step 1: Create the module diff --git a/docs/shared/recipes/storybook/angular-configuring-styles.md b/docs/shared/recipes/storybook/angular-configuring-styles.md index e06c011500..9ad35af530 100644 --- a/docs/shared/recipes/storybook/angular-configuring-styles.md +++ b/docs/shared/recipes/storybook/angular-configuring-styles.md @@ -6,7 +6,7 @@ description: This document explains how to configure styles and preprocessor opt # Configuring styles and preprocessor options for Angular projects with a Storybook configuration {% callout type="note" title="Note" %} -This documentation page contains information about the [Storybook plugin](/nx-api/storybook), specifically regarding [Angular projects that are using Storybook](/recipes/storybook/overview-angular). +This documentation page contains information about the [Storybook plugin](/nx-api/storybook), specifically regarding [Angular projects that are using Storybook](/technologies/test-tools/storybook/recipes/overview-angular). {% /callout %} Angular supports including extra entry-point files for styles. Also, in case you use Sass, you can add extra base paths that will be checked for imports. In your project's `project.json` file you can use the `styles` and `stylePreprocessorOptions` properties in your `storybook` and `build-storybook` target `options`, as you would in your Storybook or your Angular configurations. If your project is an application, you can add these extra options in your `build` target. Your `storybook` and `build-storybook` `browserTarget` are going to be pointing to the `build` target, so they will pick up these styles from there. Check out the [Angular Workspace Configuration](https://angular.dev/reference/configs/workspace-config#styles-and-scripts-configuration) documentation for more information. You can also check the [official Storybook for Angular documentation](https://storybook.js.org/docs/angular/configure/styling-and-css) on working with styles and CSS. diff --git a/docs/shared/recipes/storybook/angular-storybook-compodoc.md b/docs/shared/recipes/storybook/angular-storybook-compodoc.md index 74928fa033..e9f1fb50cc 100644 --- a/docs/shared/recipes/storybook/angular-storybook-compodoc.md +++ b/docs/shared/recipes/storybook/angular-storybook-compodoc.md @@ -6,7 +6,7 @@ description: This guide explains how to set up Compodoc for Storybook on Angular # Set up Compodoc for Storybook on Nx {% callout type="note" title="Note" %} -This documentation page contains information about the [Storybook plugin](/nx-api/storybook), specifically regarding [Angular projects that are using Storybook](/recipes/storybook/overview-angular). +This documentation page contains information about the [Storybook plugin](/nx-api/storybook), specifically regarding [Angular projects that are using Storybook](/technologies/test-tools/storybook/recipes/overview-angular). {% /callout %} {% github-repository url="https://github.com/nrwl/nx-recipes/tree/main/storybook-compodoc-angular" /%} @@ -52,7 +52,7 @@ The main things that you need to do are: Let's see how you can do that. {% callout type="note" title="Note" %} -This guide assumes that you have an Angular project with Storybook configured in your Nx workspace. If you do not know how to set these up, please read about [setting up Storybook for Angular](/recipes/storybook/overview-angular) on the Nx documentation website. +This guide assumes that you have an Angular project with Storybook configured in your Nx workspace. If you do not know how to set these up, please read about [setting up Storybook for Angular](/technologies/test-tools/storybook/recipes/overview-angular) on the Nx documentation website. {% /callout %} ### 1. Install the necessary packages @@ -129,7 +129,7 @@ make sure to also include for the components to be included in the TypeScript compilation as well. -This applies in cases where, for example, you have [one single Storybook for your whole workspace](/recipes/storybook/one-storybook-for-all), where you import stories from all the projects. In that case, you need to import all the components as well! +This applies in cases where, for example, you have [one single Storybook for your whole workspace](/technologies/test-tools/storybook/recipes/one-storybook-for-all), where you import stories from all the projects. In that case, you need to import all the components as well! {% /callout %} ### 3. Enable `compodoc` and configure it diff --git a/docs/shared/recipes/storybook/configuring-storybook.md b/docs/shared/recipes/storybook/configuring-storybook.md index c9f2810e01..680de72b67 100644 --- a/docs/shared/recipes/storybook/configuring-storybook.md +++ b/docs/shared/recipes/storybook/configuring-storybook.md @@ -11,7 +11,7 @@ Read our [Using Storybook in a Nx workspace - Best practices](/nx-api/storybook/ 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. -You can read all about creating and using a root Storybook configuration in our guide [How to configure Webpack and Vite for Storybook](/recipes/storybook/custom-builder-configs). +You can read all about creating and using a root Storybook configuration in our guide [How to configure Webpack and Vite for Storybook](/technologies/test-tools/storybook/recipes/custom-builder-configs). This change means that each of your projects that has Storybook configured has only one, project-level, project-specific `.storybook/main.js|ts` file that it relies on, without importing settings from external files. This simplifies the configuration process, makes it easier for the user to understand the configuration that each project is using, and also makes it easier to maintain, relying on automatic migration scripts, for example. diff --git a/docs/shared/recipes/storybook/one-storybook-with-composition.md b/docs/shared/recipes/storybook/one-storybook-with-composition.md index cdde54a956..b92a87c1ea 100644 --- a/docs/shared/recipes/storybook/one-storybook-with-composition.md +++ b/docs/shared/recipes/storybook/one-storybook-with-composition.md @@ -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](/recipes/storybook/storybook-composition-setup). +[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). 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. @@ -16,7 +16,7 @@ Let’s assume that you have a structure like the one described in the previous First of all, you have to create two Storybook host apps, one for Angular and one for React. Let’s call them `storybook-host-angular` and `storybook-host-react`, which are configured to import all the Angular stories and all the React stories accordingly. -Now, we are going to combine the two Storybook host apps into one, using Storybook composition. You can read our [Storybook Composition guide](/recipes/storybook/storybook-composition-setup) for a detailed explanation for how Storybook Composition works. In a nutshell, you can have one “host” Storybook instance running, where you can link other running Storybook instances. +Now, we are going to combine the two Storybook host apps into one, using Storybook composition. You can read our [Storybook Composition guide](/technologies/test-tools/storybook/recipes/storybook-composition-setup) for a detailed explanation for how Storybook Composition works. In a nutshell, you can have one “host” Storybook instance running, where you can link other running Storybook instances. {% github-repository url="https://github.com/nrwl/nx-recipes/tree/main/storybook-publishing-strategies-multiple-frameworks" /%} diff --git a/docs/shared/recipes/storybook/plugin-angular.md b/docs/shared/recipes/storybook/plugin-angular.md index 27fe4ad2af..c464b02176 100644 --- a/docs/shared/recipes/storybook/plugin-angular.md +++ b/docs/shared/recipes/storybook/plugin-angular.md @@ -176,8 +176,8 @@ This setup instructs Nx to use the configuration under the `build` target of `my ## More Documentation -- [Set up Compodoc for Storybook on Nx](/recipes/storybook/angular-storybook-compodoc) -- [Configuring styles and preprocessor options](/recipes/storybook/angular-configuring-styles) +- [Set up Compodoc for Storybook on Nx](/technologies/test-tools/storybook/recipes/angular-storybook-compodoc) +- [Configuring styles and preprocessor options](/technologies/test-tools/storybook/recipes/angular-configuring-styles) You can find all Storybook-related Nx topics [here](/nx-api#storybook). diff --git a/docs/shared/recipes/tips-n-tricks/define-secondary-entrypoints.md b/docs/shared/recipes/tips-n-tricks/define-secondary-entrypoints.md index 27316b0e01..5501c1c722 100644 --- a/docs/shared/recipes/tips-n-tricks/define-secondary-entrypoints.md +++ b/docs/shared/recipes/tips-n-tricks/define-secondary-entrypoints.md @@ -85,4 +85,4 @@ When building the library, the `@nx/js:tsc` executor automatically adds the corr ## Compile to Multiple Formats -You can also compile to multiple formats, if you switch to using the `@nx/rollup:rollup` executor. Read all [the details here](/recipes/tips-n-tricks/compile-multiple-formats). +You can also compile to multiple formats, if you switch to using the `@nx/rollup:rollup` executor. Read all [the details here](/technologies/typescript/recipes/compile-multiple-formats). diff --git a/docs/shared/reference/commands.md b/docs/shared/reference/commands.md index 6d56f53515..8efdaac81d 100644 --- a/docs/shared/reference/commands.md +++ b/docs/shared/reference/commands.md @@ -38,10 +38,10 @@ nx init {% cards cols="2" mdCols="4" smCols="2" %} -{% link-card title="nx init" type="API Reference" url="/nx-api/nx/documents/init" /%} +{% link-card title="nx init" type="API Reference" url="/reference/core-api/nx/documents/init" /%} {% link-card title="Add to Existing Monorepo" type="Recipe" url="/recipes/adopting-nx/adding-to-monorepo" /%} {% link-card title="Add to Any Project" type="Recipe" url="/recipes/adopting-nx/adding-to-existing-project" /%} -{% link-card title="Migrate from Angular CLI" type="Recipe" url="/recipes/angular/migration/angular" /%} +{% link-card title="Migrate from Angular CLI" type="Recipe" url="technologies/angular/migration/angular" /%} {% /cards %} @@ -55,7 +55,7 @@ nx add my-plugin {% cards %} -{% link-card title="nx add" type="API Reference" url="/nx-api/nx/documents/add" /%} +{% link-card title="nx add" type="API Reference" url="/reference/core-api/nx/documents/add" /%} {% link-card title="Plugin Registry" type="Reference" url="/plugin-registry" /%} {% /cards %} @@ -69,7 +69,7 @@ nx generate @nx/react:component libs/my-lib/src/lib/my-component ``` {% cards %} -{% link-card title="nx generate" type="API Reference" url="/nx-api/nx/documents/generate" /%} +{% link-card title="nx generate" type="API Reference" url="/reference/core-api/nx/documents/generate" /%} {% link-card title="Generate Code" type="Feature" url="/features/generate-code" /%} {% /cards %} @@ -83,7 +83,7 @@ nx migrate --run-migrations ``` {% cards %} -{% link-card title="nx migrate" type="API Reference" url="/nx-api/nx/documents/migrate" /%} +{% link-card title="nx migrate" type="API Reference" url="/reference/core-api/nx/documents/migrate" /%} {% link-card title="Automate Updating Dependencies" type="Feature" url="/features/automate-updating-dependencies" /%} {% /cards %} @@ -97,7 +97,7 @@ nx import ../inventory-app apps/inventory ``` {% cards %} -{% link-card title="nx import" type="API Reference" url="/nx-api/nx/documents/import" /%} +{% link-card title="nx import" type="API Reference" url="/reference/core-api/nx/documents/import" /%} {% link-card title="Import an Existing Project into an Nx Workspace" type="Recipe" url="/recipes/adopting-nx/import-project" /%} {% /cards %} @@ -114,7 +114,7 @@ nx repair ``` {% cards %} -{% link-card title="nx repair" type="API Reference" url="/nx-api/nx/documents/repair" /%} +{% link-card title="nx repair" type="API Reference" url="/reference/core-api/nx/documents/repair" /%} {% /cards %} ### sync @@ -127,8 +127,8 @@ nx sync:check ``` {% cards %} -{% link-card title="nx sync" type="API Reference" url="/nx-api/nx/documents/sync" /%} -{% link-card title="nx sync:check" type="API Reference" url="/nx-api/nx/documents/sync-check" /%} +{% link-card title="nx sync" type="API Reference" url="/reference/core-api/nx/documents/sync" /%} +{% link-card title="nx sync:check" type="API Reference" url="/reference/core-api/nx/documents/sync-check" /%} {% link-card title="Sync Generators" type="Concept" url="/concepts/sync-generators" /%} {% link-card title="Register a Sync Generator" type="Recipe" url="/extending-nx/recipes/create-sync-generator" /%} {% /cards %} @@ -143,8 +143,8 @@ nx format:check ``` {% cards %} -{% link-card title="nx format" type="API Reference" url="/nx-api/nx/documents/format-write" /%} -{% link-card title="nx format:check" type="API Reference" url="/nx-api/nx/documents/format-check" /%} +{% link-card title="nx format" type="API Reference" url="/reference/core-api/nx/documents/format-write" /%} +{% link-card title="nx format:check" type="API Reference" url="/reference/core-api/nx/documents/format-check" /%} {% /cards %} ## Run Tasks @@ -161,7 +161,7 @@ nx build my-app ``` {% cards %} -{% link-card title="nx run" type="API Reference" url="/nx-api/nx/documents/run" /%} +{% link-card title="nx run" type="API Reference" url="/reference/core-api/nx/documents/run" /%} {% link-card title="Run Tasks" type="Feature" url="/features/run-tasks" /%} {% /cards %} @@ -174,7 +174,7 @@ nx run-many --target=build ``` {% cards %} -{% link-card title="nx run-many" type="API Reference" url="/nx-api/nx/documents/run-many" /%} +{% link-card title="nx run-many" type="API Reference" url="/reference/core-api/nx/documents/run-many" /%} {% link-card title="Run Tasks" type="Feature" url="/features/run-tasks" /%} {% /cards %} @@ -187,7 +187,7 @@ nx affected --target=build ``` {% cards %} -{% link-card title="nx affected" type="API Reference" url="/nx-api/nx/documents/affected" /%} +{% link-card title="nx affected" type="API Reference" url="/reference/core-api/nx/documents/affected" /%} {% link-card title="Run Only Tasks Affected by a PR" type="Feature" url="/ci/features/affected" /%} {% /cards %} @@ -204,7 +204,7 @@ Executes any command as if it was a target on the project ``` {% cards %} -{% link-card title="nx exec" type="API Reference" url="/nx-api/nx/documents/exec" /%} +{% link-card title="nx exec" type="API Reference" url="/reference/core-api/nx/documents/exec" /%} {% link-card title="Run Root Level NPM Scripts with Nx" type="Recipe" url="/recipes/running-tasks/root-level-scripts#run-rootlevel-npm-scripts-with-nx" /%} {% /cards %} @@ -217,7 +217,7 @@ nx watch --projects=assets -- nx build assets ``` {% cards %} -{% link-card title="nx watch" type="API Reference" url="/nx-api/nx/documents/watch" /%} +{% link-card title="nx watch" type="API Reference" url="/reference/core-api/nx/documents/watch" /%} {% link-card title="Workspace Watching" type="Recipe" url="/recipes/running-tasks/workspace-watching" /%} {% /cards %} @@ -232,7 +232,7 @@ nx release publish ``` {% cards %} -{% link-card title="nx release" type="API Reference" url="/nx-api/nx/documents/release" /%} +{% link-card title="nx release" type="API Reference" url="/reference/core-api/nx/documents/release" /%} {% link-card title="Manage Releases" type="Feature" url="/features/manage-releases" /%} {% /cards %} @@ -245,7 +245,7 @@ nx reset ``` {% cards %} -{% link-card title="nx reset" type="API Reference" url="/nx-api/nx/documents/reset" /%} +{% link-card title="nx reset" type="API Reference" url="/reference/core-api/nx/documents/reset" /%} {% /cards %} ## Display Information @@ -260,7 +260,7 @@ nx show project my-app ``` {% cards %} -{% link-card title="nx show" type="API Reference" url="/nx-api/nx/documents/show" /%} +{% link-card title="nx show" type="API Reference" url="/reference/core-api/nx/documents/show" /%} {% link-card title="Explore Projects in Your Workspace" type="Recipe" url="/features/explore-graph#explore-projects-in-your-workspace" /%} {% /cards %} @@ -273,7 +273,7 @@ nx graph ``` {% cards %} -{% link-card title="nx graph" type="API Reference" url="/nx-api/nx/documents/dep-graph" /%} +{% link-card title="nx graph" type="API Reference" url="/reference/core-api/nx/documents/dep-graph" /%} {% link-card title="Explore Your Workspace" type="Recipe" url="/features/explore-graph" /%} {% /cards %} @@ -287,7 +287,7 @@ nx list my-plugin ``` {% cards %} -{% link-card title="nx list" type="API Reference" url="/nx-api/nx/documents/list" /%} +{% link-card title="nx list" type="API Reference" url="/reference/core-api/nx/documents/list" /%} {% /cards %} ### report @@ -299,7 +299,7 @@ nx report ``` {% cards %} -{% link-card title="nx report" type="API Reference" url="/nx-api/nx/documents/report" /%} +{% link-card title="nx report" type="API Reference" url="/reference/core-api/nx/documents/report" /%} {% /cards %} ### daemon @@ -311,7 +311,7 @@ nx daemon ``` {% cards %} -{% link-card title="nx daemon" type="API Reference" url="/nx-api/nx/documents/daemon" /%} +{% link-card title="nx daemon" type="API Reference" url="/reference/core-api/nx/documents/daemon" /%} {% link-card title="Nx Daemon" type="Concept" url="/concepts/nx-daemon" /%} {% /cards %} @@ -326,7 +326,7 @@ nx connect ``` {% cards %} -{% link-card title="nx connect" type="API Reference" url="/nx-api/nx/documents/connect-to-nx-cloud" /%} +{% link-card title="nx connect" type="API Reference" url="/reference/core-api/nx/documents/connect-to-nx-cloud" /%} {% link-card title="Connect to Nx Cloud" type="Feature" url="/ci/intro/connect-to-nx-cloud" /%} {% /cards %} @@ -339,7 +339,7 @@ nx login ``` {% cards %} -{% link-card title="nx login" type="API Reference" url="/nx-api/nx/documents/login" /%} +{% link-card title="nx login" type="API Reference" url="/reference/core-api/nx/documents/login" /%} {% link-card title="Personal Access Tokens" type="Recipe" url="/ci/recipes/security/personal-access-tokens" /%} {% /cards %} @@ -352,7 +352,7 @@ nx logout ``` {% cards %} -{% link-card title="nx logout" type="API Reference" url="/nx-api/nx/documents/logout" /%} +{% link-card title="nx logout" type="API Reference" url="/reference/core-api/nx/documents/logout" /%} {% link-card title="Personal Access Tokens" type="Recipe" url="/ci/recipes/security/personal-access-tokens" /%} {% /cards %} @@ -367,7 +367,7 @@ npx create-nx-workspace ``` {% cards %} -{% link-card title="create-nx-workspace" type="API Reference" url="/nx-api/nx/documents/create-nx-workspace" /%} +{% link-card title="create-nx-workspace" type="API Reference" url="/reference/core-api/nx/documents/create-nx-workspace" /%} {% /cards %} ### create-nx-plugin diff --git a/docs/shared/reference/sitemap.md b/docs/shared/reference/sitemap.md index 73f1cb9b73..ad11d5a024 100644 --- a/docs/shared/reference/sitemap.md +++ b/docs/shared/reference/sitemap.md @@ -4,7 +4,7 @@ - [Intro to Nx](/getting-started/intro) - [Installation](/getting-started/installation) - [Why Nx?](/getting-started/why-nx) - - [Editor Setup](/getting-started/editor-setup) + - [Editor Integration](/getting-started/editor-setup) - [Tutorials](/getting-started/tutorials) - [TypeScript Monorepo](/getting-started/tutorials/typescript-packages-tutorial) - [React Monorepo](/getting-started/tutorials/react-monorepo-tutorial) @@ -21,34 +21,7 @@ - [Enforce Module Boundaries](/features/enforce-module-boundaries) - [Manage Releases](/features/manage-releases) - [CI Features](/features/ci-features) - - [Concepts](/concepts) - - [Mental Model](/concepts/mental-model) - - [How Caching Works](/concepts/how-caching-works) - - [What is a Task Pipeline](/concepts/task-pipeline-configuration) - - [What Are Nx Plugins](/concepts/nx-plugins) - - [Inferred Tasks](/concepts/inferred-tasks) - - [Types of Configuration](/concepts/types-of-configuration) - - [Executors and Configurations](/concepts/executors-and-configurations) - - [Common Tasks](/concepts/common-tasks) - - [Nx Daemon](/concepts/nx-daemon) - - [Sync Generators](/concepts/sync-generators) - - [TypeScript Project Linking](/concepts/typescript-project-linking) - - [Buildable and Publishable Libraries](/concepts/buildable-and-publishable-libraries) - - [Module Federation](/concepts/module-federation) - - [Module Federation and Nx](/concepts/module-federation/module-federation-and-nx) - - [Nx Module Federation Technical Overview](/concepts/module-federation/nx-module-federation-technical-overview) - - [Faster Builds with Module Federation](/concepts/module-federation/faster-builds-with-module-federation) - - [Micro Frontend Architecture](/concepts/module-federation/micro-frontend-architecture) - - [Manage Library Versions with Module Federation](/concepts/module-federation/manage-library-versions-with-module-federation) - - [Organizational Decisions](/concepts/decisions) - - [Overview](/concepts/decisions/overview) - - [Monorepos](/concepts/decisions/why-monorepos) - - [Dependency Management](/concepts/decisions/dependency-management) - - [Code Ownership](/concepts/decisions/code-ownership) - - [Project Size](/concepts/decisions/project-size) - - [Project Dependency Rules](/concepts/decisions/project-dependency-rules) - - [Folder Structure](/concepts/decisions/folder-structure) - - [Recipes](/recipes) + - [Core Guides](/recipes) - [Installation](/recipes/installation) - [Install Nx in a Non-Javascript Repo](/recipes/installation/install-non-javascript) - [Update Your Global Nx Installation](/recipes/installation/update-global-installation) @@ -90,10 +63,6 @@ - [Configure Changelog Format](/recipes/nx-release/configure-changelog-format) - [Build Before Versioning](/recipes/nx-release/build-before-versioning) - [Configuring Version Prefix for Dependency Versions](/recipes/nx-release/configuration-version-prefix) - - [Module Federation](/recipes/module-federation) - - [How to create a Module Federation Host Application](/recipes/module-federation/create-a-host) - - [How to create a Module Federation Remote Application](/recipes/module-federation/create-a-remote) - - [How to Federate a Module](/recipes/module-federation/federate-a-module) - [Nx Console](/recipes/nx-console) - [Telemetry](/recipes/nx-console/console-telemetry) - [Project Details View](/recipes/nx-console/console-project-details) @@ -102,64 +71,6 @@ - [Nx Cloud Integration](/recipes/nx-console/console-nx-cloud) - [Migrate UI](/recipes/nx-console/console-migrate-ui) - [Troubleshooting](/recipes/nx-console/console-troubleshooting) - - [React](/recipes/react) - - [React Native with Nx](/recipes/react/react-native) - - [Remix with Nx](/recipes/react/remix) - - [React Router with Nx](/recipes/react/react-router) - - [Use Environment Variables in React](/recipes/react/use-environment-variables-in-react) - - [Using Tailwind CSS in React](/recipes/react/using-tailwind-css-in-react) - - [Adding Images, Fonts, and Files](/recipes/react/adding-assets-react) - - [Setup Module Federation with SSR for React](/recipes/react/module-federation-with-ssr) - - [Deploying Next.js applications to Vercel](/recipes/react/deploy-nextjs-to-vercel) - - [React Compiler with Nx](/recipes/react/react-compiler) - - [Angular](/recipes/angular) - - [Angular Rspack](/recipes/angular/rspack) - - [Introduction](/recipes/angular/rspack/introduction) - - [Getting Started](/recipes/angular/rspack/getting-started) - - [Migrate from Angular Webpack](/recipes/angular/rspack/migrate-from-webpack) - - [Handling Configurations](/recipes/angular/rspack/handling-configurations) - - [Internationalization (i18n)](/recipes/angular/rspack/internationalization) - - [Migration](/recipes/angular/migration) - - [Migrating from Angular CLI](/recipes/angular/migration/angular) - - [Migrating From Multiple Angular CLI Repos](/recipes/angular/migration/angular-multiple) - - [Use Environment Variables in Angular](/recipes/angular/use-environment-variables-in-angular) - - [Using Tailwind CSS with Angular projects](/recipes/angular/using-tailwind-css-with-angular-projects) - - [Setup Module Federation with SSR for Angular](/recipes/angular/module-federation-with-ssr) - - [Advanced Micro Frontends with Angular using Dynamic Federation](/recipes/angular/dynamic-module-federation-with-angular) - - [Setup incremental builds for Angular applications](/recipes/angular/setup-incremental-builds-angular) - - [Node](/recipes/node) - - [Deploying a Node App to Fly.io](/recipes/node/node-server-fly-io) - - [Add and Deploy Netlify Edge Functions with Node](/recipes/node/node-serverless-functions-netlify) - - [Deploying AWS lambda in Node.js (deprecated)](/recipes/node/node-aws-lambda) - - [Set Up Application Proxies](/recipes/node/application-proxies) - - [Wait for Tasks to Finish](/recipes/node/wait-for-tasks) - - [Storybook](/recipes/storybook) - - [Set up Storybook for React Projects](/recipes/storybook/overview-react) - - [Set up Storybook for Angular Projects](/recipes/storybook/overview-angular) - - [Set up Storybook for Vue Projects](/recipes/storybook/overview-vue) - - [Configuring Storybook on Nx](/recipes/storybook/configuring-storybook) - - [One main Storybook instance for all projects](/recipes/storybook/one-storybook-for-all) - - [One Storybook instance per scope](/recipes/storybook/one-storybook-per-scope) - - [One main Storybook instance using Storybook Composition](/recipes/storybook/one-storybook-with-composition) - - [How to configure Webpack and Vite for Storybook](/recipes/storybook/custom-builder-configs) - - [Setting up Storybook Interaction Tests with Nx](/recipes/storybook/storybook-interaction-tests) - - [Upgrading Storybook using the Storybook CLI](/recipes/storybook/upgrading-storybook) - - [Setting up Storybook Composition with Nx](/recipes/storybook/storybook-composition-setup) - - [Angular: Set up Compodoc for Storybook on Nx](/recipes/storybook/angular-storybook-compodoc) - - [Angular: Configuring styles and preprocessor options](/recipes/storybook/angular-configuring-styles) - - [Cypress](/recipes/cypress) - - [Component Testing](/recipes/cypress/cypress-component-testing) - - [Using setupNodeEvents with Cypress preset](/recipes/cypress/cypress-setup-node-events) - - [Cypress v11 Migration Guide](/recipes/cypress/cypress-v11-migration) - - [Next](/recipes/next) - - [How to configure Next.js plugins](/recipes/next/next-config-setup) - - [Nuxt](/recipes/nuxt) - - [Deploying Nuxt applications to Vercel](/recipes/nuxt/deploy-nuxt-to-vercel) - - [Vite](/recipes/vite) - - [Configure Vite on your Nx workspace](/recipes/vite/configure-vite) - - [Webpack](/recipes/webpack) - - [How to configure Webpack in your Nx workspace](/recipes/webpack/webpack-config-setup) - - [Webpack plugins](/recipes/webpack/webpack-plugins) - [Enforce Module Boundaries](/recipes/enforce-module-boundaries) - [Ban Dependencies with Certain Tags](/recipes/enforce-module-boundaries/ban-dependencies-with-tags) - [Tag in Multiple Dimensions](/recipes/enforce-module-boundaries/tag-multiple-dimensions) @@ -167,11 +78,6 @@ - [Tags Allow List](/recipes/enforce-module-boundaries/tags-allow-list) - [Tips and tricks](/recipes/tips-n-tricks) - [Convert from a Standalone Repository to a Monorepo](/recipes/tips-n-tricks/standalone-to-monorepo) - - [Configuring ESLint with Typescript](/recipes/tips-n-tricks/eslint) - - [Switch to Workspaces and TS Project References](/recipes/tips-n-tricks/switch-to-workspaces-project-references) - - [Enable Typescript Batch Mode](/recipes/tips-n-tricks/enable-tsc-batch-mode) - - [Define Secondary Entrypoints for Typescript Packages](/recipes/tips-n-tricks/define-secondary-entrypoints) - - [Compile Typescript Packages to Multiple Formats](/recipes/tips-n-tricks/compile-multiple-formats) - [Keep Nx Versions in Sync](/recipes/tips-n-tricks/keep-nx-versions-in-sync) - [Define Environment Variables](/recipes/tips-n-tricks/define-environment-variables) - [Configuring Browser Support](/recipes/tips-n-tricks/browser-support) @@ -179,11 +85,535 @@ - [Include All package.json Files as Projects](/recipes/tips-n-tricks/include-all-packagejson) - [Identify Dependencies Between Folders](/recipes/tips-n-tricks/identify-dependencies-between-folders) - [Disable Graph Links Created from Analyzing Source Files](/recipes/tips-n-tricks/analyze-source-files) - - [Use JavaScript instead TypeScript](/recipes/tips-n-tricks/js-and-ts) - [Altering Migration Process](/recipes/tips-n-tricks/advanced-update) - [Using Yarn PnP](/recipes/tips-n-tricks/yarn-pnp) - - [Switching to ESLint's flat config format](/recipes/tips-n-tricks/flat-config) - - [Troubleshoot Nx Console Issues](/recipes/nx-console/console-troubleshooting) + - [Core Concepts](/concepts) + - [Mental Model](/concepts/mental-model) + - [How Caching Works](/concepts/how-caching-works) + - [What is a Task Pipeline](/concepts/task-pipeline-configuration) + - [What Are Nx Plugins](/concepts/nx-plugins) + - [Inferred Tasks](/concepts/inferred-tasks) + - [Types of Configuration](/concepts/types-of-configuration) + - [Executors and Configurations](/concepts/executors-and-configurations) + - [Common Tasks](/concepts/common-tasks) + - [Nx Daemon](/concepts/nx-daemon) + - [Sync Generators](/concepts/sync-generators) + - [TypeScript Project Linking](/concepts/typescript-project-linking) + - [Buildable and Publishable Libraries](/concepts/buildable-and-publishable-libraries) + - [Organizational Decisions](/concepts/decisions) + - [Overview](/concepts/decisions/overview) + - [Monorepos](/concepts/decisions/why-monorepos) + - [Dependency Management](/concepts/decisions/dependency-management) + - [Code Ownership](/concepts/decisions/code-ownership) + - [Project Size](/concepts/decisions/project-size) + - [Project Dependency Rules](/concepts/decisions/project-dependency-rules) + - [Folder Structure](/concepts/decisions/folder-structure) + - [Technologies](/technologies) + - [TypeScript](/technologies/typescript) + - [Introduction](/technologies/typescript/introduction) + - [Guides](/technologies/typescript/recipes) + - [Switch to Workspaces and TS Project References](/technologies/typescript/recipes/switch-to-workspaces-project-references) + - [Enable Typescript Batch Mode](/technologies/typescript/recipes/enable-tsc-batch-mode) + - [Define Secondary Entrypoints for Typescript Packages](/technologies/typescript/recipes/define-secondary-entrypoints) + - [Compile Typescript Packages to Multiple Formats](/technologies/typescript/recipes/compile-multiple-formats) + - [Use JavaScript instead TypeScript](/technologies/typescript/recipes/js-and-ts) + - [API](/technologies/typescript/api) + - [executors](/technologies/typescript/api/executors) + - [tsc](/technologies/typescript/api/executors/tsc) + - [swc](/technologies/typescript/api/executors/swc) + - [node](/technologies/typescript/api/executors/node) + - [release-publish](/technologies/typescript/api/executors/release-publish) + - [verdaccio](/technologies/typescript/api/executors/verdaccio) + - [generators](/technologies/typescript/api/generators) + - [library](/technologies/typescript/api/generators/library) + - [init](/technologies/typescript/api/generators/init) + - [convert-to-swc](/technologies/typescript/api/generators/convert-to-swc) + - [release-version](/technologies/typescript/api/generators/release-version) + - [setup-verdaccio](/technologies/typescript/api/generators/setup-verdaccio) + - [setup-build](/technologies/typescript/api/generators/setup-build) + - [typescript-sync](/technologies/typescript/api/generators/typescript-sync) + - [setup-prettier](/technologies/typescript/api/generators/setup-prettier) + - [migrations](/technologies/typescript/api/migrations) + - [Angular](/technologies/angular) + - [Introduction](/technologies/angular/introduction) + - [Migration](/technologies/angular/migration) + - [Migrating from Angular CLI](/technologies/angular/migration/angular) + - [Migrating From Multiple Angular CLI Repos](/technologies/angular/migration/angular-multiple) + - [Guides](/technologies/angular/recipes) + - [Use Environment Variables in Angular](/technologies/angular/recipes/use-environment-variables-in-angular) + - [Using Tailwind CSS with Angular projects](/technologies/angular/recipes/using-tailwind-css-with-angular-projects) + - [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) + - [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) + - [package](/technologies/angular/api/executors/package) + - [browser-esbuild](/technologies/angular/api/executors/browser-esbuild) + - [module-federation-dev-server](/technologies/angular/api/executors/module-federation-dev-server) + - [module-federation-dev-ssr](/technologies/angular/api/executors/module-federation-dev-ssr) + - [application](/technologies/angular/api/executors/application) + - [extract-i18n](/technologies/angular/api/executors/extract-i18n) + - [webpack-browser](/technologies/angular/api/executors/webpack-browser) + - [dev-server](/technologies/angular/api/executors/dev-server) + - [webpack-server](/technologies/angular/api/executors/webpack-server) + - [generators](/technologies/angular/api/generators) + - [add-linting](/technologies/angular/api/generators/add-linting) + - [application](/technologies/angular/api/generators/application) + - [component](/technologies/angular/api/generators/component) + - [component-story](/technologies/angular/api/generators/component-story) + - [component-test](/technologies/angular/api/generators/component-test) + - [convert-to-application-executor](/technologies/angular/api/generators/convert-to-application-executor) + - [convert-to-rspack](/technologies/angular/api/generators/convert-to-rspack) + - [directive](/technologies/angular/api/generators/directive) + - [federate-module](/technologies/angular/api/generators/federate-module) + - [init](/technologies/angular/api/generators/init) + - [library](/technologies/angular/api/generators/library) + - [library-secondary-entry-point](/technologies/angular/api/generators/library-secondary-entry-point) + - [remote](/technologies/angular/api/generators/remote) + - [move](/technologies/angular/api/generators/move) + - [convert-to-with-mf](/technologies/angular/api/generators/convert-to-with-mf) + - [host](/technologies/angular/api/generators/host) + - [ng-add](/technologies/angular/api/generators/ng-add) + - [ngrx](/technologies/angular/api/generators/ngrx) + - [ngrx-feature-store](/technologies/angular/api/generators/ngrx-feature-store) + - [ngrx-root-store](/technologies/angular/api/generators/ngrx-root-store) + - [pipe](/technologies/angular/api/generators/pipe) + - [scam-to-standalone](/technologies/angular/api/generators/scam-to-standalone) + - [scam](/technologies/angular/api/generators/scam) + - [scam-directive](/technologies/angular/api/generators/scam-directive) + - [scam-pipe](/technologies/angular/api/generators/scam-pipe) + - [setup-mf](/technologies/angular/api/generators/setup-mf) + - [setup-ssr](/technologies/angular/api/generators/setup-ssr) + - [setup-tailwind](/technologies/angular/api/generators/setup-tailwind) + - [stories](/technologies/angular/api/generators/stories) + - [storybook-configuration](/technologies/angular/api/generators/storybook-configuration) + - [cypress-component-configuration](/technologies/angular/api/generators/cypress-component-configuration) + - [web-worker](/technologies/angular/api/generators/web-worker) + - [migrations](/technologies/angular/api/migrations) + - [Angular Rspack](/technologies/angular/angular-rspack) + - [Introduction](/technologies/angular/angular-rspack/introduction) + - [Guides](/technologies/angular/angular-rspack/recipes) + - [Getting Started with Angular and Rspack](/technologies/angular/angular-rspack/recipes/getting-started) + - [Migrate from Angular Webpack](/technologies/angular/angular-rspack/recipes/migrate-from-webpack) + - [Handling Configurations](/technologies/angular/angular-rspack/recipes/handling-configurations) + - [Internationalization (i18n)](/technologies/angular/angular-rspack/recipes/internationalization) + - [API](/technologies/angular/angular-rspack/api) + - [Angular Rsbuild](/technologies/angular/angular-rsbuild) + - [API](/technologies/angular/angular-rsbuild/api) + - [React](/technologies/react) + - [Introduction](/technologies/react/introduction) + - [Guides](/technologies/react/recipes) + - [React Native with Nx](/technologies/react/recipes/react-native) + - [Remix with Nx](/technologies/react/recipes/remix) + - [React Router with Nx](/technologies/react/recipes/react-router) + - [Use Environment Variables in React](/technologies/react/recipes/use-environment-variables-in-react) + - [Using Tailwind CSS in React](/technologies/react/recipes/using-tailwind-css-in-react) + - [Adding Images, Fonts, and Files](/technologies/react/recipes/adding-assets-react) + - [Setup Module Federation with SSR for React](/technologies/react/recipes/module-federation-with-ssr) + - [Deploying Next.js applications to Vercel](/technologies/react/recipes/deploy-nextjs-to-vercel) + - [React Compiler with Nx](/technologies/react/recipes/react-compiler) + - [API](/technologies/react/api) + - [executors](/technologies/react/api/executors) + - [module-federation-dev-server](/technologies/react/api/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/technologies/react/api/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/technologies/react/api/executors/module-federation-static-server) + - [generators](/technologies/react/api/generators) + - [init](/technologies/react/api/generators/init) + - [application](/technologies/react/api/generators/application) + - [library](/technologies/react/api/generators/library) + - [component](/technologies/react/api/generators/component) + - [redux](/technologies/react/api/generators/redux) + - [storybook-configuration](/technologies/react/api/generators/storybook-configuration) + - [component-story](/technologies/react/api/generators/component-story) + - [stories](/technologies/react/api/generators/stories) + - [hook](/technologies/react/api/generators/hook) + - [host](/technologies/react/api/generators/host) + - [remote](/technologies/react/api/generators/remote) + - [cypress-component-configuration](/technologies/react/api/generators/cypress-component-configuration) + - [component-test](/technologies/react/api/generators/component-test) + - [setup-tailwind](/technologies/react/api/generators/setup-tailwind) + - [setup-ssr](/technologies/react/api/generators/setup-ssr) + - [federate-module](/technologies/react/api/generators/federate-module) + - [migrations](/technologies/react/api/migrations) + - [Next](/technologies/react/next) + - [Introduction](/technologies/react/next/introduction) + - [Guides](/technologies/react/next/recipes) + - [How to configure Next.js plugins](/technologies/react/next/recipes/next-config-setup) + - [API](/technologies/react/next/api) + - [executors](/technologies/react/next/api/executors) + - [build](/technologies/react/next/api/executors/build) + - [server](/technologies/react/next/api/executors/server) + - [generators](/technologies/react/next/api/generators) + - [init](/technologies/react/next/api/generators/init) + - [application](/technologies/react/next/api/generators/application) + - [page](/technologies/react/next/api/generators/page) + - [component](/technologies/react/next/api/generators/component) + - [library](/technologies/react/next/api/generators/library) + - [custom-server](/technologies/react/next/api/generators/custom-server) + - [cypress-component-configuration](/technologies/react/next/api/generators/cypress-component-configuration) + - [convert-to-inferred](/technologies/react/next/api/generators/convert-to-inferred) + - [migrations](/technologies/react/next/api/migrations) + - [Remix](/technologies/react/remix) + - [Introduction](/technologies/react/remix/introduction) + - [Guides](/technologies/react/remix/recipes) + - [API](/technologies/react/remix/api) + - [executors](/technologies/react/remix/api/executors) + - [serve](/technologies/react/remix/api/executors/serve) + - [build](/technologies/react/remix/api/executors/build) + - [generators](/technologies/react/remix/api/generators) + - [preset](/technologies/react/remix/api/generators/preset) + - [setup](/technologies/react/remix/api/generators/setup) + - [application](/technologies/react/remix/api/generators/application) + - [cypress-component-configuration](/technologies/react/remix/api/generators/cypress-component-configuration) + - [library](/technologies/react/remix/api/generators/library) + - [init](/technologies/react/remix/api/generators/init) + - [route](/technologies/react/remix/api/generators/route) + - [resource-route](/technologies/react/remix/api/generators/resource-route) + - [action](/technologies/react/remix/api/generators/action) + - [loader](/technologies/react/remix/api/generators/loader) + - [style](/technologies/react/remix/api/generators/style) + - [setup-tailwind](/technologies/react/remix/api/generators/setup-tailwind) + - [storybook-configuration](/technologies/react/remix/api/generators/storybook-configuration) + - [meta](/technologies/react/remix/api/generators/meta) + - [error-boundary](/technologies/react/remix/api/generators/error-boundary) + - [convert-to-inferred](/technologies/react/remix/api/generators/convert-to-inferred) + - [migrations](/technologies/react/remix/api/migrations) + - [React Native](/technologies/react/react-native) + - [Introduction](/technologies/react/react-native/introduction) + - [Guides](/technologies/react/react-native/recipes) + - [API](/technologies/react/react-native/api) + - [executors](/technologies/react/react-native/api/executors) + - [run-android](/technologies/react/react-native/api/executors/run-android) + - [run-ios](/technologies/react/react-native/api/executors/run-ios) + - [bundle](/technologies/react/react-native/api/executors/bundle) + - [build-android](/technologies/react/react-native/api/executors/build-android) + - [build-ios](/technologies/react/react-native/api/executors/build-ios) + - [start](/technologies/react/react-native/api/executors/start) + - [sync-deps](/technologies/react/react-native/api/executors/sync-deps) + - [ensure-symlink](/technologies/react/react-native/api/executors/ensure-symlink) + - [storybook](/technologies/react/react-native/api/executors/storybook) + - [pod-install](/technologies/react/react-native/api/executors/pod-install) + - [upgrade](/technologies/react/react-native/api/executors/upgrade) + - [generators](/technologies/react/react-native/api/generators) + - [init](/technologies/react/react-native/api/generators/init) + - [application](/technologies/react/react-native/api/generators/application) + - [library](/technologies/react/react-native/api/generators/library) + - [component](/technologies/react/react-native/api/generators/component) + - [storybook-configuration](/technologies/react/react-native/api/generators/storybook-configuration) + - [component-story](/technologies/react/react-native/api/generators/component-story) + - [stories](/technologies/react/react-native/api/generators/stories) + - [upgrade-native](/technologies/react/react-native/api/generators/upgrade-native) + - [web-configuration](/technologies/react/react-native/api/generators/web-configuration) + - [convert-to-inferred](/technologies/react/react-native/api/generators/convert-to-inferred) + - [migrations](/technologies/react/react-native/api/migrations) + - [Expo](/technologies/react/expo) + - [Introduction](/technologies/react/expo/introduction) + - [Guides](/technologies/react/expo/recipes) + - [API](/technologies/react/expo/api) + - [executors](/technologies/react/expo/api/executors) + - [update](/technologies/react/expo/api/executors/update) + - [build](/technologies/react/expo/api/executors/build) + - [build-list](/technologies/react/expo/api/executors/build-list) + - [run](/technologies/react/expo/api/executors/run) + - [start](/technologies/react/expo/api/executors/start) + - [sync-deps](/technologies/react/expo/api/executors/sync-deps) + - [ensure-symlink](/technologies/react/expo/api/executors/ensure-symlink) + - [prebuild](/technologies/react/expo/api/executors/prebuild) + - [install](/technologies/react/expo/api/executors/install) + - [export](/technologies/react/expo/api/executors/export) + - [submit](/technologies/react/expo/api/executors/submit) + - [serve](/technologies/react/expo/api/executors/serve) + - [generators](/technologies/react/expo/api/generators) + - [init](/technologies/react/expo/api/generators/init) + - [application](/technologies/react/expo/api/generators/application) + - [library](/technologies/react/expo/api/generators/library) + - [component](/technologies/react/expo/api/generators/component) + - [convert-to-inferred](/technologies/react/expo/api/generators/convert-to-inferred) + - [migrations](/technologies/react/expo/api/migrations) + - [Vue](/technologies/vue) + - [Introduction](/technologies/vue/introduction) + - [API](/technologies/vue/api) + - [generators](/technologies/vue/api/generators) + - [init](/technologies/vue/api/generators/init) + - [application](/technologies/vue/api/generators/application) + - [library](/technologies/vue/api/generators/library) + - [component](/technologies/vue/api/generators/component) + - [setup-tailwind](/technologies/vue/api/generators/setup-tailwind) + - [storybook-configuration](/technologies/vue/api/generators/storybook-configuration) + - [stories](/technologies/vue/api/generators/stories) + - [migrations](/technologies/vue/api/migrations) + - [Nuxt](/technologies/vue/nuxt) + - [Introduction](/technologies/vue/nuxt/introduction) + - [Guides](/technologies/vue/nuxt/recipes) + - [Deploying Nuxt applications to Vercel](/technologies/vue/nuxt/recipes/deploy-nuxt-to-vercel) + - [API](/technologies/vue/nuxt/api) + - [generators](/technologies/vue/nuxt/api/generators) + - [init](/technologies/vue/nuxt/api/generators/init) + - [application](/technologies/vue/nuxt/api/generators/application) + - [storybook-configuration](/technologies/vue/nuxt/api/generators/storybook-configuration) + - [migrations](/technologies/vue/nuxt/api/migrations) + - [Node.js](/technologies/node) + - [Introduction](/technologies/node/introduction) + - [Guides](/technologies/node/recipes) + - [Deploying a Node App to Fly.io](/technologies/node/recipes/node-server-fly-io) + - [Add and Deploy Netlify Edge Functions with Node](/technologies/node/recipes/node-serverless-functions-netlify) + - [Deploying AWS lambda in Node.js (deprecated)](/technologies/node/recipes/node-aws-lambda) + - [Set Up Application Proxies](/technologies/node/recipes/application-proxies) + - [Wait for Tasks to Finish](/technologies/node/recipes/wait-for-tasks) + - [API](/technologies/node/api) + - [generators](/technologies/node/api/generators) + - [init](/technologies/node/api/generators/init) + - [application](/technologies/node/api/generators/application) + - [library](/technologies/node/api/generators/library) + - [setup-docker](/technologies/node/api/generators/setup-docker) + - [migrations](/technologies/node/api/migrations) + - [Express](/technologies/node/express) + - [Introduction](/technologies/node/express/introduction) + - [API](/technologies/node/express/api) + - [generators](/technologies/node/express/api/generators) + - [init](/technologies/node/express/api/generators/init) + - [application](/technologies/node/express/api/generators/application) + - [Nest](/technologies/node/nest) + - [Introduction](/technologies/node/nest/introduction) + - [API](/technologies/node/nest/api) + - [generators](/technologies/node/nest/api/generators) + - [application](/technologies/node/nest/api/generators/application) + - [init](/technologies/node/nest/api/generators/init) + - [library](/technologies/node/nest/api/generators/library) + - [class](/technologies/node/nest/api/generators/class) + - [controller](/technologies/node/nest/api/generators/controller) + - [decorator](/technologies/node/nest/api/generators/decorator) + - [filter](/technologies/node/nest/api/generators/filter) + - [gateway](/technologies/node/nest/api/generators/gateway) + - [guard](/technologies/node/nest/api/generators/guard) + - [interceptor](/technologies/node/nest/api/generators/interceptor) + - [interface](/technologies/node/nest/api/generators/interface) + - [middleware](/technologies/node/nest/api/generators/middleware) + - [module](/technologies/node/nest/api/generators/module) + - [pipe](/technologies/node/nest/api/generators/pipe) + - [provider](/technologies/node/nest/api/generators/provider) + - [resolver](/technologies/node/nest/api/generators/resolver) + - [resource](/technologies/node/nest/api/generators/resource) + - [service](/technologies/node/nest/api/generators/service) + - [Java](/technologies/java) + - [Introduction](/technologies/java/introduction) + - [API](/technologies/java/api) + - [executors](/technologies/java/api/executors) + - [gradle](/technologies/java/api/executors/gradle) + - [generators](/technologies/java/api/generators) + - [init](/technologies/java/api/generators/init) + - [ci-workflow](/technologies/java/api/generators/ci-workflow) + - [migrations](/technologies/java/api/migrations) + - [Module Federation](/technologies/module-federation) + - [Introduction](/technologies/module-federation/introduction) + - [Concepts](/technologies/module-federation/concepts) + - [Module Federation and Nx](/technologies/module-federation/concepts/module-federation-and-nx) + - [Nx Module Federation Technical Overview](/technologies/module-federation/concepts/nx-module-federation-technical-overview) + - [Faster Builds with Module Federation](/technologies/module-federation/concepts/faster-builds-with-module-federation) + - [Micro Frontend Architecture](/technologies/module-federation/concepts/micro-frontend-architecture) + - [Manage Library Versions with Module Federation](/technologies/module-federation/concepts/manage-library-versions-with-module-federation) + - [Guides](/technologies/module-federation/recipes) + - [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) + - [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) + - [Guides](/technologies/eslint/recipes) + - [Configuring ESLint with Typescript](/technologies/eslint/recipes/eslint) + - [Switching to ESLint's flat config format](/technologies/eslint/recipes/flat-config) + - [API](/technologies/eslint/api) + - [executors](/technologies/eslint/api/executors) + - [lint](/technologies/eslint/api/executors/lint) + - [generators](/technologies/eslint/api/generators) + - [init](/technologies/eslint/api/generators/init) + - [workspace-rules-project](/technologies/eslint/api/generators/workspace-rules-project) + - [workspace-rule](/technologies/eslint/api/generators/workspace-rule) + - [convert-to-flat-config](/technologies/eslint/api/generators/convert-to-flat-config) + - [convert-to-inferred](/technologies/eslint/api/generators/convert-to-inferred) + - [migrations](/technologies/eslint/api/migrations) + - [ESLint Plugin](/technologies/eslint/eslint-plugin) + - [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) + - [Introduction](/technologies/build-tools/webpack/introduction) + - [Guides](/technologies/build-tools/webpack/recipes) + - [How to configure Webpack in your Nx workspace](/technologies/build-tools/webpack/recipes/webpack-config-setup) + - [Webpack plugins](/technologies/build-tools/webpack/recipes/webpack-plugins) + - [API](/technologies/build-tools/webpack/api) + - [executors](/technologies/build-tools/webpack/api/executors) + - [webpack](/technologies/build-tools/webpack/api/executors/webpack) + - [dev-server](/technologies/build-tools/webpack/api/executors/dev-server) + - [ssr-dev-server](/technologies/build-tools/webpack/api/executors/ssr-dev-server) + - [generators](/technologies/build-tools/webpack/api/generators) + - [init](/technologies/build-tools/webpack/api/generators/init) + - [configuration](/technologies/build-tools/webpack/api/generators/configuration) + - [convert-config-to-webpack-plugin](/technologies/build-tools/webpack/api/generators/convert-config-to-webpack-plugin) + - [convert-to-inferred](/technologies/build-tools/webpack/api/generators/convert-to-inferred) + - [migrations](/technologies/build-tools/webpack/api/migrations) + - [Vite](/technologies/build-tools/vite) + - [Introduction](/technologies/build-tools/vite/introduction) + - [Guides](/technologies/build-tools/vite/recipes) + - [Configure Vite on your Nx workspace](/technologies/build-tools/vite/recipes/configure-vite) + - [API](/technologies/build-tools/vite/api) + - [executors](/technologies/build-tools/vite/api/executors) + - [dev-server](/technologies/build-tools/vite/api/executors/dev-server) + - [build](/technologies/build-tools/vite/api/executors/build) + - [test](/technologies/build-tools/vite/api/executors/test) + - [preview-server](/technologies/build-tools/vite/api/executors/preview-server) + - [generators](/technologies/build-tools/vite/api/generators) + - [init](/technologies/build-tools/vite/api/generators/init) + - [configuration](/technologies/build-tools/vite/api/generators/configuration) + - [setup-paths-plugin](/technologies/build-tools/vite/api/generators/setup-paths-plugin) + - [convert-to-inferred](/technologies/build-tools/vite/api/generators/convert-to-inferred) + - [vitest](/technologies/build-tools/vite/api/generators/vitest) + - [migrations](/technologies/build-tools/vite/api/migrations) + - [Rollup](/technologies/build-tools/rollup) + - [Introduction](/technologies/build-tools/rollup/introduction) + - [Guides](/technologies/build-tools/rollup/recipes) + - [API](/technologies/build-tools/rollup/api) + - [executors](/technologies/build-tools/rollup/api/executors) + - [rollup](/technologies/build-tools/rollup/api/executors/rollup) + - [generators](/technologies/build-tools/rollup/api/generators) + - [init](/technologies/build-tools/rollup/api/generators/init) + - [configuration](/technologies/build-tools/rollup/api/generators/configuration) + - [convert-to-inferred](/technologies/build-tools/rollup/api/generators/convert-to-inferred) + - [migrations](/technologies/build-tools/rollup/api/migrations) + - [ESBuild](/technologies/build-tools/esbuild) + - [Introduction](/technologies/build-tools/esbuild/introduction) + - [Guides](/technologies/build-tools/esbuild/recipes) + - [API](/technologies/build-tools/esbuild/api) + - [executors](/technologies/build-tools/esbuild/api/executors) + - [esbuild](/technologies/build-tools/esbuild/api/executors/esbuild) + - [generators](/technologies/build-tools/esbuild/api/generators) + - [init](/technologies/build-tools/esbuild/api/generators/init) + - [configuration](/technologies/build-tools/esbuild/api/generators/configuration) + - [Rspack](/technologies/build-tools/rspack) + - [Introduction](/technologies/build-tools/rspack/introduction) + - [Guides](/technologies/build-tools/rspack/recipes) + - [API](/technologies/build-tools/rspack/api) + - [executors](/technologies/build-tools/rspack/api/executors) + - [rspack](/technologies/build-tools/rspack/api/executors/rspack) + - [dev-server](/technologies/build-tools/rspack/api/executors/dev-server) + - [ssr-dev-server](/technologies/build-tools/rspack/api/executors/ssr-dev-server) + - [module-federation-dev-server](/technologies/build-tools/rspack/api/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/technologies/build-tools/rspack/api/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/technologies/build-tools/rspack/api/executors/module-federation-static-server) + - [generators](/technologies/build-tools/rspack/api/generators) + - [configuration](/technologies/build-tools/rspack/api/generators/configuration) + - [init](/technologies/build-tools/rspack/api/generators/init) + - [preset](/technologies/build-tools/rspack/api/generators/preset) + - [application](/technologies/build-tools/rspack/api/generators/application) + - [convert-webpack](/technologies/build-tools/rspack/api/generators/convert-webpack) + - [convert-config-to-rspack-plugin](/technologies/build-tools/rspack/api/generators/convert-config-to-rspack-plugin) + - [convert-to-inferred](/technologies/build-tools/rspack/api/generators/convert-to-inferred) + - [migrations](/technologies/build-tools/rspack/api/migrations) + - [Rsbuild](/technologies/build-tools/rsbuild) + - [Introduction](/technologies/build-tools/rsbuild/introduction) + - [Guides](/technologies/build-tools/rsbuild/recipes) + - [API](/technologies/build-tools/rsbuild/api) + - [generators](/technologies/build-tools/rsbuild/api/generators) + - [init](/technologies/build-tools/rsbuild/api/generators/init) + - [configuration](/technologies/build-tools/rsbuild/api/generators/configuration) + - [Test Tools](/technologies/test-tools) + - [Cypress](/technologies/test-tools/cypress) + - [Introduction](/technologies/test-tools/cypress/introduction) + - [Guides](/technologies/test-tools/cypress/recipes) + - [Component Testing](/technologies/test-tools/cypress/recipes/cypress-component-testing) + - [Using setupNodeEvents with Cypress preset](/technologies/test-tools/cypress/recipes/cypress-setup-node-events) + - [Cypress v11 Migration Guide](/technologies/test-tools/cypress/recipes/cypress-v11-migration) + - [API](/technologies/test-tools/cypress/api) + - [executors](/technologies/test-tools/cypress/api/executors) + - [cypress](/technologies/test-tools/cypress/api/executors/cypress) + - [generators](/technologies/test-tools/cypress/api/generators) + - [init](/technologies/test-tools/cypress/api/generators/init) + - [configuration](/technologies/test-tools/cypress/api/generators/configuration) + - [component-configuration](/technologies/test-tools/cypress/api/generators/component-configuration) + - [migrate-to-cypress-11](/technologies/test-tools/cypress/api/generators/migrate-to-cypress-11) + - [convert-to-inferred](/technologies/test-tools/cypress/api/generators/convert-to-inferred) + - [migrations](/technologies/test-tools/cypress/api/migrations) + - [Jest](/technologies/test-tools/jest) + - [Introduction](/technologies/test-tools/jest/introduction) + - [Guides](/technologies/test-tools/jest/recipes) + - [API](/technologies/test-tools/jest/api) + - [executors](/technologies/test-tools/jest/api/executors) + - [jest](/technologies/test-tools/jest/api/executors/jest) + - [generators](/technologies/test-tools/jest/api/generators) + - [init](/technologies/test-tools/jest/api/generators/init) + - [configuration](/technologies/test-tools/jest/api/generators/configuration) + - [convert-to-inferred](/technologies/test-tools/jest/api/generators/convert-to-inferred) + - [migrations](/technologies/test-tools/jest/api/migrations) + - [Playwright](/technologies/test-tools/playwright) + - [Introduction](/technologies/test-tools/playwright/introduction) + - [Guides](/technologies/test-tools/playwright/recipes) + - [API](/technologies/test-tools/playwright/api) + - [executors](/technologies/test-tools/playwright/api/executors) + - [playwright](/technologies/test-tools/playwright/api/executors/playwright) + - [generators](/technologies/test-tools/playwright/api/generators) + - [configuration](/technologies/test-tools/playwright/api/generators/configuration) + - [init](/technologies/test-tools/playwright/api/generators/init) + - [convert-to-inferred](/technologies/test-tools/playwright/api/generators/convert-to-inferred) + - [migrations](/technologies/test-tools/playwright/api/migrations) + - [Storybook](/technologies/test-tools/storybook) + - [Introduction](/technologies/test-tools/storybook/introduction) + - [Guides](/technologies/test-tools/storybook/recipes) + - [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) + - [Configuring Storybook on Nx](/technologies/test-tools/storybook/recipes/configuring-storybook) + - [One main Storybook instance for all projects](/technologies/test-tools/storybook/recipes/one-storybook-for-all) + - [One Storybook instance per scope](/technologies/test-tools/storybook/recipes/one-storybook-per-scope) + - [One main Storybook instance using Storybook Composition](/technologies/test-tools/storybook/recipes/one-storybook-with-composition) + - [How to configure Webpack and Vite for Storybook](/technologies/test-tools/storybook/recipes/custom-builder-configs) + - [Setting up Storybook Interaction Tests with Nx](/technologies/test-tools/storybook/recipes/storybook-interaction-tests) + - [Upgrading Storybook using the Storybook CLI](/technologies/test-tools/storybook/recipes/upgrading-storybook) + - [Setting up Storybook Composition with Nx](/technologies/test-tools/storybook/recipes/storybook-composition-setup) + - [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) + - [generators](/technologies/test-tools/storybook/api/generators) + - [init](/technologies/test-tools/storybook/api/generators/init) + - [configuration](/technologies/test-tools/storybook/api/generators/configuration) + - [cypress-project](/technologies/test-tools/storybook/api/generators/cypress-project) + - [convert-to-inferred](/technologies/test-tools/storybook/api/generators/convert-to-inferred) + - [migrate-7](/technologies/test-tools/storybook/api/generators/migrate-7) + - [migrate-8](/technologies/test-tools/storybook/api/generators/migrate-8) + - [migrations](/technologies/test-tools/storybook/api/migrations) + - [Detox](/technologies/test-tools/detox) + - [Introduction](/technologies/test-tools/detox/introduction) + - [Guides](/technologies/test-tools/detox/recipes) + - [API](/technologies/test-tools/detox/api) + - [executors](/technologies/test-tools/detox/api/executors) + - [build](/technologies/test-tools/detox/api/executors/build) + - [test](/technologies/test-tools/detox/api/executors/test) + - [generators](/technologies/test-tools/detox/api/generators) + - [init](/technologies/test-tools/detox/api/generators/init) + - [application](/technologies/test-tools/detox/api/generators/application) + - [convert-to-inferred](/technologies/test-tools/detox/api/generators/convert-to-inferred) + - [migrations](/technologies/test-tools/detox/api/migrations) - [Enterprise](/nx-enterprise) - [Activate Powerpack](/nx-enterprise/activate-powerpack) - [Powerpack Features](/nx-enterprise/powerpack) @@ -221,12 +651,125 @@ - [Environment Variables](/reference/environment-variables) - [Glossary](/reference/glossary) - [Releases](/reference/releases) + - [API](/reference/core-api) + - [nx](/reference/core-api/nx) + - [documents](/reference/core-api/nx/documents) + - [create-nx-workspace](/reference/core-api/nx/documents/create-nx-workspace) + - [init](/reference/core-api/nx/documents/init) + - [generate](/reference/core-api/nx/documents/generate) + - [run](/reference/core-api/nx/documents/run) + - [daemon](/reference/core-api/nx/documents/daemon) + - [graph](/reference/core-api/nx/documents/dep-graph) + - [run-many](/reference/core-api/nx/documents/run-many) + - [affected](/reference/core-api/nx/documents/affected) + - [format:check](/reference/core-api/nx/documents/format-check) + - [format:write](/reference/core-api/nx/documents/format-write) + - [migrate](/reference/core-api/nx/documents/migrate) + - [report](/reference/core-api/nx/documents/report) + - [list](/reference/core-api/nx/documents/list) + - [connect-to-nx-cloud](/reference/core-api/nx/documents/connect-to-nx-cloud) + - [reset](/reference/core-api/nx/documents/reset) + - [repair](/reference/core-api/nx/documents/repair) + - [sync](/reference/core-api/nx/documents/sync) + - [sync:check](/reference/core-api/nx/documents/sync-check) + - [import](/reference/core-api/nx/documents/import) + - [exec](/reference/core-api/nx/documents/exec) + - [watch](/reference/core-api/nx/documents/watch) + - [show](/reference/core-api/nx/documents/show) + - [view-logs](/reference/core-api/nx/documents/view-logs) + - [release](/reference/core-api/nx/documents/release) + - [add](/reference/core-api/nx/documents/add) + - [login](/reference/core-api/nx/documents/login) + - [logout](/reference/core-api/nx/documents/logout) + - [executors](/reference/core-api/nx/executors) + - [noop](/reference/core-api/nx/executors/noop) + - [run-commands](/reference/core-api/nx/executors/run-commands) + - [run-script](/reference/core-api/nx/executors/run-script) + - [generators](/reference/core-api/nx/generators) + - [connect-to-nx-cloud](/reference/core-api/nx/generators/connect-to-nx-cloud) + - [migrations](/reference/core-api/nx/migrations) + - [workspace](/reference/core-api/workspace) + - [documents](/reference/core-api/workspace/documents) + - [Overview](/reference/core-api/workspace/documents/overview) + - [Nx, NodeJS and Typescript Versions](/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix) + - [executors](/reference/core-api/workspace/executors) + - [counter](/reference/core-api/workspace/executors/counter) + - [generators](/reference/core-api/workspace/generators) + - [preset](/reference/core-api/workspace/generators/preset) + - [move](/reference/core-api/workspace/generators/move) + - [remove](/reference/core-api/workspace/generators/remove) + - [convert-to-monorepo](/reference/core-api/workspace/generators/convert-to-monorepo) + - [new](/reference/core-api/workspace/generators/new) + - [run-commands](/reference/core-api/workspace/generators/run-commands) + - [fix-configuration](/reference/core-api/workspace/generators/fix-configuration) + - [npm-package](/reference/core-api/workspace/generators/npm-package) + - [ci-workflow](/reference/core-api/workspace/generators/ci-workflow) + - [infer-targets](/reference/core-api/workspace/generators/infer-targets) + - [migrations](/reference/core-api/workspace/migrations) + - [owners](/reference/core-api/owners) + - [Overview](/reference/core-api/owners/overview) + - [documents](/reference/core-api/owners/documents) + - [Overview](/reference/core-api/owners/documents/overview) + - [generators](/reference/core-api/owners/generators) + - [init](/reference/core-api/owners/generators/init) + - [sync-codeowners-file](/reference/core-api/owners/generators/sync-codeowners-file) + - [conformance](/reference/core-api/conformance) + - [Overview](/reference/core-api/conformance/overview) + - [Create a Conformance Rule](/reference/core-api/conformance/create-conformance-rule) + - [documents](/reference/core-api/conformance/documents) + - [Overview](/reference/core-api/conformance/documents/overview) + - [Create a Conformance Rule](/reference/core-api/conformance/documents/create-conformance-rule) + - [executors](/reference/core-api/conformance/executors) + - [bundle-rules](/reference/core-api/conformance/executors/bundle-rules) + - [generators](/reference/core-api/conformance/generators) + - [create-rule](/reference/core-api/conformance/generators/create-rule) + - [azure-cache](/reference/core-api/azure-cache) + - [Overview](/reference/core-api/azure-cache/overview) + - [documents](/reference/core-api/azure-cache/documents) + - [Overview](/reference/core-api/azure-cache/documents/overview) + - [gcs-cache](/reference/core-api/gcs-cache) + - [Overview](/reference/core-api/gcs-cache/overview) + - [documents](/reference/core-api/gcs-cache/documents) + - [Overview](/reference/core-api/gcs-cache/documents/overview) + - [s3-cache](/reference/core-api/s3-cache) + - [Overview](/reference/core-api/s3-cache/overview) + - [documents](/reference/core-api/s3-cache/documents) + - [Overview](/reference/core-api/s3-cache/documents/overview) + - [shared-fs-cache](/reference/core-api/shared-fs-cache) + - [Overview](/reference/core-api/shared-fs-cache/overview) + - [documents](/reference/core-api/shared-fs-cache/documents) + - [Overview](/reference/core-api/shared-fs-cache/documents/overview) + - [generators](/reference/core-api/shared-fs-cache/generators) + - [init](/reference/core-api/shared-fs-cache/generators/init) + - [devkit](/reference/core-api/devkit) + - [documents](/reference/core-api/devkit/documents) + - [Overview](/reference/core-api/devkit/documents/nx_devkit) + - [Ng CLI Adapter](/reference/core-api/devkit/documents/ngcli_adapter) + - [plugin](/reference/core-api/plugin) + - [generators](/reference/core-api/plugin/generators) + - [plugin](/reference/core-api/plugin/generators/plugin) + - [create-package](/reference/core-api/plugin/generators/create-package) + - [e2e-project](/reference/core-api/plugin/generators/e2e-project) + - [migration](/reference/core-api/plugin/generators/migration) + - [generator](/reference/core-api/plugin/generators/generator) + - [executor](/reference/core-api/plugin/generators/executor) + - [plugin-lint-checks](/reference/core-api/plugin/generators/plugin-lint-checks) + - [preset](/reference/core-api/plugin/generators/preset) + - [web](/reference/core-api/web) + - [executors](/reference/core-api/web/executors) + - [file-server](/reference/core-api/web/executors/file-server) + - [generators](/reference/core-api/web/generators) + - [init](/reference/core-api/web/generators/init) + - [application](/reference/core-api/web/generators/application) + - [static-config](/reference/core-api/web/generators/static-config) + - [create-nx-workspace](/reference/core-api/create-nx-workspace) - [Troubleshooting](/troubleshooting) - [Resolve Circular Dependencies](/troubleshooting/resolve-circular-dependencies) - [Troubleshoot Nx Install Issues](/troubleshooting/troubleshoot-nx-install-issues) - [Troubleshoot Cache Misses](/troubleshooting/troubleshoot-cache-misses) - [Unknown Local Cache Error](/troubleshooting/unknown-local-cache) - [Profiling Build Performance](/troubleshooting/performance-profiling) + - [Troubleshoot Nx Console Issues](/recipes/nx-console/console-troubleshooting) - [Troubleshoot Convert to Inferred Migration](/troubleshooting/convert-to-inferred) - [Deprecated](/deprecated) - [affected:graph](/deprecated/affected-graph) @@ -255,7 +798,7 @@ - [Tutorials](/extending-nx/tutorials) - [Enforce Organizational Best Practices](/extending-nx/tutorials/organization-specific-plugin) - [Create a Tooling Plugin](/extending-nx/tutorials/tooling-plugin) - - [Recipes](/extending-nx/recipes) + - [Guides](/extending-nx/recipes) - [Write a Simple Generator](/extending-nx/recipes/local-generators) - [Compose Generators](/extending-nx/recipes/composing-generators) - [Provide Options for Generators](/extending-nx/recipes/generator-options) @@ -270,6 +813,12 @@ - [Infer Tasks or Projects](/extending-nx/recipes/project-graph-plugins) - [Publish a Plugin](/extending-nx/recipes/publish-plugin) - [Hook into the Task Running Lifecycle](/extending-nx/recipes/task-running-lifecycle) + - [API](/extending-nx/api) + - [Devkit](/extending-nx/api/nx-devkit) + - [Overview](/extending-nx/api/nx-devkit/overview) + - [Ng CLI Adapter](/extending-nx/api/nx-devkit/ngcli-adapter) + - [Nx Plugin](/extending-nx/api/plugin) + - [Overview](/extending-nx/api/plugin/overview) - Ci @@ -295,7 +844,7 @@ - [Parallelization and Distribution](/ci/concepts/parallelization-distribution) - [Cache Security](/ci/concepts/cache-security) - [Nx Cloud AI](/ci/concepts/nx-cloud-ai) - - [Recipes](/ci/recipes) + - [Guides](/ci/recipes) - [Set Up CI](/ci/recipes/set-up) - [Setting up Azure Pipelines](/ci/recipes/set-up/monorepo-ci-azure) - [Setting up CircleCI](/ci/recipes/set-up/monorepo-ci-circle-ci) @@ -347,6 +896,978 @@ - [Troubleshooting](/ci/troubleshooting) - [CI Execution Failed](/ci/troubleshooting/ci-execution-failed) +- 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) + - [package](/nx-api/angular/executors/package) + - [browser-esbuild](/nx-api/angular/executors/browser-esbuild) + - [module-federation-dev-server](/nx-api/angular/executors/module-federation-dev-server) + - [module-federation-dev-ssr](/nx-api/angular/executors/module-federation-dev-ssr) + - [application](/nx-api/angular/executors/application) + - [extract-i18n](/nx-api/angular/executors/extract-i18n) + - [webpack-browser](/nx-api/angular/executors/webpack-browser) + - [dev-server](/nx-api/angular/executors/dev-server) + - [webpack-server](/nx-api/angular/executors/webpack-server) + - [generators](/nx-api/angular/generators) + - [add-linting](/nx-api/angular/generators/add-linting) + - [application](/nx-api/angular/generators/application) + - [component](/nx-api/angular/generators/component) + - [component-story](/nx-api/angular/generators/component-story) + - [component-test](/nx-api/angular/generators/component-test) + - [convert-to-application-executor](/nx-api/angular/generators/convert-to-application-executor) + - [convert-to-rspack](/nx-api/angular/generators/convert-to-rspack) + - [directive](/nx-api/angular/generators/directive) + - [federate-module](/nx-api/angular/generators/federate-module) + - [init](/nx-api/angular/generators/init) + - [library](/nx-api/angular/generators/library) + - [library-secondary-entry-point](/nx-api/angular/generators/library-secondary-entry-point) + - [remote](/nx-api/angular/generators/remote) + - [move](/nx-api/angular/generators/move) + - [convert-to-with-mf](/nx-api/angular/generators/convert-to-with-mf) + - [host](/nx-api/angular/generators/host) + - [ng-add](/nx-api/angular/generators/ng-add) + - [ngrx](/nx-api/angular/generators/ngrx) + - [ngrx-feature-store](/nx-api/angular/generators/ngrx-feature-store) + - [ngrx-root-store](/nx-api/angular/generators/ngrx-root-store) + - [pipe](/nx-api/angular/generators/pipe) + - [scam-to-standalone](/nx-api/angular/generators/scam-to-standalone) + - [scam](/nx-api/angular/generators/scam) + - [scam-directive](/nx-api/angular/generators/scam-directive) + - [scam-pipe](/nx-api/angular/generators/scam-pipe) + - [setup-mf](/nx-api/angular/generators/setup-mf) + - [setup-ssr](/nx-api/angular/generators/setup-ssr) + - [setup-tailwind](/nx-api/angular/generators/setup-tailwind) + - [stories](/nx-api/angular/generators/stories) + - [storybook-configuration](/nx-api/angular/generators/storybook-configuration) + - [cypress-component-configuration](/nx-api/angular/generators/cypress-component-configuration) + - [web-worker](/nx-api/angular/generators/web-worker) + - [migrations](/nx-api/angular/migrations) + - [cypress](/nx-api/cypress) + - [executors](/nx-api/cypress/executors) + - [cypress](/nx-api/cypress/executors/cypress) + - [generators](/nx-api/cypress/generators) + - [init](/nx-api/cypress/generators/init) + - [configuration](/nx-api/cypress/generators/configuration) + - [component-configuration](/nx-api/cypress/generators/component-configuration) + - [migrate-to-cypress-11](/nx-api/cypress/generators/migrate-to-cypress-11) + - [convert-to-inferred](/nx-api/cypress/generators/convert-to-inferred) + - [migrations](/nx-api/cypress/migrations) + - [detox](/nx-api/detox) + - [executors](/nx-api/detox/executors) + - [build](/nx-api/detox/executors/build) + - [test](/nx-api/detox/executors/test) + - [generators](/nx-api/detox/generators) + - [init](/nx-api/detox/generators/init) + - [application](/nx-api/detox/generators/application) + - [convert-to-inferred](/nx-api/detox/generators/convert-to-inferred) + - [migrations](/nx-api/detox/migrations) + - [devkit](/nx-api/devkit) + - [documents](/nx-api/devkit/documents) + - [Overview](/reference/core-api/devkit/documents/nx_devkit) + - [Ng CLI Adapter](/reference/core-api/devkit/documents/ngcli_adapter) + - [esbuild](/nx-api/esbuild) + - [executors](/nx-api/esbuild/executors) + - [esbuild](/nx-api/esbuild/executors/esbuild) + - [generators](/nx-api/esbuild/generators) + - [init](/nx-api/esbuild/generators/init) + - [configuration](/nx-api/esbuild/generators/configuration) + - [eslint](/nx-api/eslint) + - [executors](/nx-api/eslint/executors) + - [lint](/nx-api/eslint/executors/lint) + - [generators](/nx-api/eslint/generators) + - [init](/nx-api/eslint/generators/init) + - [workspace-rules-project](/nx-api/eslint/generators/workspace-rules-project) + - [workspace-rule](/nx-api/eslint/generators/workspace-rule) + - [convert-to-flat-config](/nx-api/eslint/generators/convert-to-flat-config) + - [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) + - [update](/nx-api/expo/executors/update) + - [build](/nx-api/expo/executors/build) + - [build-list](/nx-api/expo/executors/build-list) + - [run](/nx-api/expo/executors/run) + - [start](/nx-api/expo/executors/start) + - [sync-deps](/nx-api/expo/executors/sync-deps) + - [ensure-symlink](/nx-api/expo/executors/ensure-symlink) + - [prebuild](/nx-api/expo/executors/prebuild) + - [install](/nx-api/expo/executors/install) + - [export](/nx-api/expo/executors/export) + - [submit](/nx-api/expo/executors/submit) + - [serve](/nx-api/expo/executors/serve) + - [generators](/nx-api/expo/generators) + - [init](/nx-api/expo/generators/init) + - [application](/nx-api/expo/generators/application) + - [library](/nx-api/expo/generators/library) + - [component](/nx-api/expo/generators/component) + - [convert-to-inferred](/nx-api/expo/generators/convert-to-inferred) + - [migrations](/nx-api/expo/migrations) + - [express](/nx-api/express) + - [generators](/nx-api/express/generators) + - [init](/nx-api/express/generators/init) + - [application](/nx-api/express/generators/application) + - [gradle](/nx-api/gradle) + - [executors](/nx-api/gradle/executors) + - [gradle](/nx-api/gradle/executors/gradle) + - [generators](/nx-api/gradle/generators) + - [init](/nx-api/gradle/generators/init) + - [ci-workflow](/nx-api/gradle/generators/ci-workflow) + - [migrations](/nx-api/gradle/migrations) + - [jest](/nx-api/jest) + - [executors](/nx-api/jest/executors) + - [jest](/nx-api/jest/executors/jest) + - [generators](/nx-api/jest/generators) + - [init](/nx-api/jest/generators/init) + - [configuration](/nx-api/jest/generators/configuration) + - [convert-to-inferred](/nx-api/jest/generators/convert-to-inferred) + - [migrations](/nx-api/jest/migrations) + - [js](/nx-api/js) + - [executors](/nx-api/js/executors) + - [tsc](/nx-api/js/executors/tsc) + - [swc](/nx-api/js/executors/swc) + - [node](/nx-api/js/executors/node) + - [release-publish](/nx-api/js/executors/release-publish) + - [verdaccio](/nx-api/js/executors/verdaccio) + - [generators](/nx-api/js/generators) + - [library](/nx-api/js/generators/library) + - [init](/nx-api/js/generators/init) + - [convert-to-swc](/nx-api/js/generators/convert-to-swc) + - [release-version](/nx-api/js/generators/release-version) + - [setup-verdaccio](/nx-api/js/generators/setup-verdaccio) + - [setup-build](/nx-api/js/generators/setup-build) + - [typescript-sync](/nx-api/js/generators/typescript-sync) + - [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) + - [application](/nx-api/nest/generators/application) + - [init](/nx-api/nest/generators/init) + - [library](/nx-api/nest/generators/library) + - [class](/nx-api/nest/generators/class) + - [controller](/nx-api/nest/generators/controller) + - [decorator](/nx-api/nest/generators/decorator) + - [filter](/nx-api/nest/generators/filter) + - [gateway](/nx-api/nest/generators/gateway) + - [guard](/nx-api/nest/generators/guard) + - [interceptor](/nx-api/nest/generators/interceptor) + - [interface](/nx-api/nest/generators/interface) + - [middleware](/nx-api/nest/generators/middleware) + - [module](/nx-api/nest/generators/module) + - [pipe](/nx-api/nest/generators/pipe) + - [provider](/nx-api/nest/generators/provider) + - [resolver](/nx-api/nest/generators/resolver) + - [resource](/nx-api/nest/generators/resource) + - [service](/nx-api/nest/generators/service) + - [next](/nx-api/next) + - [executors](/nx-api/next/executors) + - [build](/nx-api/next/executors/build) + - [server](/nx-api/next/executors/server) + - [generators](/nx-api/next/generators) + - [init](/nx-api/next/generators/init) + - [application](/nx-api/next/generators/application) + - [page](/nx-api/next/generators/page) + - [component](/nx-api/next/generators/component) + - [library](/nx-api/next/generators/library) + - [custom-server](/nx-api/next/generators/custom-server) + - [cypress-component-configuration](/nx-api/next/generators/cypress-component-configuration) + - [convert-to-inferred](/nx-api/next/generators/convert-to-inferred) + - [migrations](/nx-api/next/migrations) + - [node](/nx-api/node) + - [generators](/nx-api/node/generators) + - [init](/nx-api/node/generators/init) + - [application](/nx-api/node/generators/application) + - [library](/nx-api/node/generators/library) + - [setup-docker](/nx-api/node/generators/setup-docker) + - [migrations](/nx-api/node/migrations) + - [nuxt](/nx-api/nuxt) + - [generators](/nx-api/nuxt/generators) + - [init](/nx-api/nuxt/generators/init) + - [application](/nx-api/nuxt/generators/application) + - [storybook-configuration](/nx-api/nuxt/generators/storybook-configuration) + - [migrations](/nx-api/nuxt/migrations) + - [nx](/nx-api/nx) + - [documents](/nx-api/nx/documents) + - [create-nx-workspace](/reference/core-api/nx/documents/create-nx-workspace) + - [init](/reference/core-api/nx/documents/init) + - [generate](/reference/core-api/nx/documents/generate) + - [run](/reference/core-api/nx/documents/run) + - [daemon](/reference/core-api/nx/documents/daemon) + - [graph](/reference/core-api/nx/documents/dep-graph) + - [run-many](/reference/core-api/nx/documents/run-many) + - [affected](/reference/core-api/nx/documents/affected) + - [format:check](/reference/core-api/nx/documents/format-check) + - [format:write](/reference/core-api/nx/documents/format-write) + - [migrate](/reference/core-api/nx/documents/migrate) + - [report](/reference/core-api/nx/documents/report) + - [list](/reference/core-api/nx/documents/list) + - [connect-to-nx-cloud](/reference/core-api/nx/documents/connect-to-nx-cloud) + - [reset](/reference/core-api/nx/documents/reset) + - [repair](/reference/core-api/nx/documents/repair) + - [sync](/reference/core-api/nx/documents/sync) + - [sync:check](/reference/core-api/nx/documents/sync-check) + - [import](/reference/core-api/nx/documents/import) + - [exec](/reference/core-api/nx/documents/exec) + - [watch](/reference/core-api/nx/documents/watch) + - [show](/reference/core-api/nx/documents/show) + - [view-logs](/reference/core-api/nx/documents/view-logs) + - [release](/reference/core-api/nx/documents/release) + - [add](/reference/core-api/nx/documents/add) + - [login](/reference/core-api/nx/documents/login) + - [logout](/reference/core-api/nx/documents/logout) + - [executors](/nx-api/nx/executors) + - [noop](/nx-api/nx/executors/noop) + - [run-commands](/nx-api/nx/executors/run-commands) + - [run-script](/nx-api/nx/executors/run-script) + - [generators](/nx-api/nx/generators) + - [connect-to-nx-cloud](/nx-api/nx/generators/connect-to-nx-cloud) + - [migrations](/nx-api/nx/migrations) + - [playwright](/nx-api/playwright) + - [executors](/nx-api/playwright/executors) + - [playwright](/nx-api/playwright/executors/playwright) + - [generators](/nx-api/playwright/generators) + - [configuration](/nx-api/playwright/generators/configuration) + - [init](/nx-api/playwright/generators/init) + - [convert-to-inferred](/nx-api/playwright/generators/convert-to-inferred) + - [migrations](/nx-api/playwright/migrations) + - [plugin](/nx-api/plugin) + - [generators](/nx-api/plugin/generators) + - [plugin](/nx-api/plugin/generators/plugin) + - [create-package](/nx-api/plugin/generators/create-package) + - [e2e-project](/nx-api/plugin/generators/e2e-project) + - [migration](/nx-api/plugin/generators/migration) + - [generator](/nx-api/plugin/generators/generator) + - [executor](/nx-api/plugin/generators/executor) + - [plugin-lint-checks](/nx-api/plugin/generators/plugin-lint-checks) + - [preset](/nx-api/plugin/generators/preset) + - [react](/nx-api/react) + - [executors](/nx-api/react/executors) + - [module-federation-dev-server](/nx-api/react/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/nx-api/react/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/nx-api/react/executors/module-federation-static-server) + - [generators](/nx-api/react/generators) + - [init](/nx-api/react/generators/init) + - [application](/nx-api/react/generators/application) + - [library](/nx-api/react/generators/library) + - [component](/nx-api/react/generators/component) + - [redux](/nx-api/react/generators/redux) + - [storybook-configuration](/nx-api/react/generators/storybook-configuration) + - [component-story](/nx-api/react/generators/component-story) + - [stories](/nx-api/react/generators/stories) + - [hook](/nx-api/react/generators/hook) + - [host](/nx-api/react/generators/host) + - [remote](/nx-api/react/generators/remote) + - [cypress-component-configuration](/nx-api/react/generators/cypress-component-configuration) + - [component-test](/nx-api/react/generators/component-test) + - [setup-tailwind](/nx-api/react/generators/setup-tailwind) + - [setup-ssr](/nx-api/react/generators/setup-ssr) + - [federate-module](/nx-api/react/generators/federate-module) + - [migrations](/nx-api/react/migrations) + - [react-native](/nx-api/react-native) + - [executors](/nx-api/react-native/executors) + - [run-android](/nx-api/react-native/executors/run-android) + - [run-ios](/nx-api/react-native/executors/run-ios) + - [bundle](/nx-api/react-native/executors/bundle) + - [build-android](/nx-api/react-native/executors/build-android) + - [build-ios](/nx-api/react-native/executors/build-ios) + - [start](/nx-api/react-native/executors/start) + - [sync-deps](/nx-api/react-native/executors/sync-deps) + - [ensure-symlink](/nx-api/react-native/executors/ensure-symlink) + - [storybook](/nx-api/react-native/executors/storybook) + - [pod-install](/nx-api/react-native/executors/pod-install) + - [upgrade](/nx-api/react-native/executors/upgrade) + - [generators](/nx-api/react-native/generators) + - [init](/nx-api/react-native/generators/init) + - [application](/nx-api/react-native/generators/application) + - [library](/nx-api/react-native/generators/library) + - [component](/nx-api/react-native/generators/component) + - [storybook-configuration](/nx-api/react-native/generators/storybook-configuration) + - [component-story](/nx-api/react-native/generators/component-story) + - [stories](/nx-api/react-native/generators/stories) + - [upgrade-native](/nx-api/react-native/generators/upgrade-native) + - [web-configuration](/nx-api/react-native/generators/web-configuration) + - [convert-to-inferred](/nx-api/react-native/generators/convert-to-inferred) + - [migrations](/nx-api/react-native/migrations) + - [remix](/nx-api/remix) + - [executors](/nx-api/remix/executors) + - [serve](/nx-api/remix/executors/serve) + - [build](/nx-api/remix/executors/build) + - [generators](/nx-api/remix/generators) + - [preset](/nx-api/remix/generators/preset) + - [setup](/nx-api/remix/generators/setup) + - [application](/nx-api/remix/generators/application) + - [cypress-component-configuration](/nx-api/remix/generators/cypress-component-configuration) + - [library](/nx-api/remix/generators/library) + - [init](/nx-api/remix/generators/init) + - [route](/nx-api/remix/generators/route) + - [resource-route](/nx-api/remix/generators/resource-route) + - [action](/nx-api/remix/generators/action) + - [loader](/nx-api/remix/generators/loader) + - [style](/nx-api/remix/generators/style) + - [setup-tailwind](/nx-api/remix/generators/setup-tailwind) + - [storybook-configuration](/nx-api/remix/generators/storybook-configuration) + - [meta](/nx-api/remix/generators/meta) + - [error-boundary](/nx-api/remix/generators/error-boundary) + - [convert-to-inferred](/nx-api/remix/generators/convert-to-inferred) + - [migrations](/nx-api/remix/migrations) + - [rollup](/nx-api/rollup) + - [executors](/nx-api/rollup/executors) + - [rollup](/nx-api/rollup/executors/rollup) + - [generators](/nx-api/rollup/generators) + - [init](/nx-api/rollup/generators/init) + - [configuration](/nx-api/rollup/generators/configuration) + - [convert-to-inferred](/nx-api/rollup/generators/convert-to-inferred) + - [migrations](/nx-api/rollup/migrations) + - [rsbuild](/nx-api/rsbuild) + - [generators](/nx-api/rsbuild/generators) + - [init](/nx-api/rsbuild/generators/init) + - [configuration](/nx-api/rsbuild/generators/configuration) + - [rspack](/nx-api/rspack) + - [executors](/nx-api/rspack/executors) + - [rspack](/nx-api/rspack/executors/rspack) + - [dev-server](/nx-api/rspack/executors/dev-server) + - [ssr-dev-server](/nx-api/rspack/executors/ssr-dev-server) + - [module-federation-dev-server](/nx-api/rspack/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/nx-api/rspack/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/nx-api/rspack/executors/module-federation-static-server) + - [generators](/nx-api/rspack/generators) + - [configuration](/nx-api/rspack/generators/configuration) + - [init](/nx-api/rspack/generators/init) + - [preset](/nx-api/rspack/generators/preset) + - [application](/nx-api/rspack/generators/application) + - [convert-webpack](/nx-api/rspack/generators/convert-webpack) + - [convert-config-to-rspack-plugin](/nx-api/rspack/generators/convert-config-to-rspack-plugin) + - [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) + - [generators](/nx-api/storybook/generators) + - [init](/nx-api/storybook/generators/init) + - [configuration](/nx-api/storybook/generators/configuration) + - [cypress-project](/nx-api/storybook/generators/cypress-project) + - [convert-to-inferred](/nx-api/storybook/generators/convert-to-inferred) + - [migrate-7](/nx-api/storybook/generators/migrate-7) + - [migrate-8](/nx-api/storybook/generators/migrate-8) + - [migrations](/nx-api/storybook/migrations) + - [vite](/nx-api/vite) + - [executors](/nx-api/vite/executors) + - [dev-server](/nx-api/vite/executors/dev-server) + - [build](/nx-api/vite/executors/build) + - [test](/nx-api/vite/executors/test) + - [preview-server](/nx-api/vite/executors/preview-server) + - [generators](/nx-api/vite/generators) + - [init](/nx-api/vite/generators/init) + - [configuration](/nx-api/vite/generators/configuration) + - [setup-paths-plugin](/nx-api/vite/generators/setup-paths-plugin) + - [convert-to-inferred](/nx-api/vite/generators/convert-to-inferred) + - [vitest](/nx-api/vite/generators/vitest) + - [migrations](/nx-api/vite/migrations) + - [vue](/nx-api/vue) + - [generators](/nx-api/vue/generators) + - [init](/nx-api/vue/generators/init) + - [application](/nx-api/vue/generators/application) + - [library](/nx-api/vue/generators/library) + - [component](/nx-api/vue/generators/component) + - [setup-tailwind](/nx-api/vue/generators/setup-tailwind) + - [storybook-configuration](/nx-api/vue/generators/storybook-configuration) + - [stories](/nx-api/vue/generators/stories) + - [migrations](/nx-api/vue/migrations) + - [web](/nx-api/web) + - [executors](/nx-api/web/executors) + - [file-server](/nx-api/web/executors/file-server) + - [generators](/nx-api/web/generators) + - [init](/nx-api/web/generators/init) + - [application](/nx-api/web/generators/application) + - [static-config](/nx-api/web/generators/static-config) + - [webpack](/nx-api/webpack) + - [executors](/nx-api/webpack/executors) + - [webpack](/nx-api/webpack/executors/webpack) + - [dev-server](/nx-api/webpack/executors/dev-server) + - [ssr-dev-server](/nx-api/webpack/executors/ssr-dev-server) + - [generators](/nx-api/webpack/generators) + - [init](/nx-api/webpack/generators/init) + - [configuration](/nx-api/webpack/generators/configuration) + - [convert-config-to-webpack-plugin](/nx-api/webpack/generators/convert-config-to-webpack-plugin) + - [convert-to-inferred](/nx-api/webpack/generators/convert-to-inferred) + - [migrations](/nx-api/webpack/migrations) + - [workspace](/nx-api/workspace) + - [documents](/nx-api/workspace/documents) + - [Overview](/reference/core-api/workspace/documents/overview) + - [Nx, NodeJS and Typescript Versions](/reference/core-api/workspace/documents/nx-nodejs-typescript-version-matrix) + - [executors](/nx-api/workspace/executors) + - [counter](/nx-api/workspace/executors/counter) + - [generators](/nx-api/workspace/generators) + - [preset](/nx-api/workspace/generators/preset) + - [move](/nx-api/workspace/generators/move) + - [remove](/nx-api/workspace/generators/remove) + - [convert-to-monorepo](/nx-api/workspace/generators/convert-to-monorepo) + - [new](/nx-api/workspace/generators/new) + - [run-commands](/nx-api/workspace/generators/run-commands) + - [fix-configuration](/nx-api/workspace/generators/fix-configuration) + - [npm-package](/nx-api/workspace/generators/npm-package) + - [ci-workflow](/nx-api/workspace/generators/ci-workflow) + - [infer-targets](/nx-api/workspace/generators/infer-targets) + - [migrations](/nx-api/workspace/migrations) + - [azure-cache](/nx-api/azure-cache) + - [documents](/nx-api/azure-cache/documents) + - [Overview](/reference/core-api/azure-cache/documents/overview) + - [conformance](/nx-api/conformance) + - [documents](/nx-api/conformance/documents) + - [Overview](/reference/core-api/conformance/documents/overview) + - [Create a Conformance Rule](/reference/core-api/conformance/documents/create-conformance-rule) + - [executors](/nx-api/conformance/executors) + - [bundle-rules](/nx-api/conformance/executors/bundle-rules) + - [generators](/nx-api/conformance/generators) + - [create-rule](/nx-api/conformance/generators/create-rule) + - [owners](/nx-api/owners) + - [documents](/nx-api/owners/documents) + - [Overview](/reference/core-api/owners/documents/overview) + - [generators](/nx-api/owners/generators) + - [init](/nx-api/owners/generators/init) + - [sync-codeowners-file](/nx-api/owners/generators/sync-codeowners-file) + - [gcs-cache](/nx-api/gcs-cache) + - [documents](/nx-api/gcs-cache/documents) + - [Overview](/reference/core-api/gcs-cache/documents/overview) + - [s3-cache](/nx-api/s3-cache) + - [documents](/nx-api/s3-cache/documents) + - [Overview](/reference/core-api/s3-cache/documents/overview) + - [shared-fs-cache](/nx-api/shared-fs-cache) + - [documents](/nx-api/shared-fs-cache/documents) + - [Overview](/reference/core-api/shared-fs-cache/documents/overview) + - [generators](/nx-api/shared-fs-cache/generators) + - [init](/nx-api/shared-fs-cache/generators/init) + +- Nx-api + + - [angular](/nx-api/angular) + - [documents](/nx-api/angular/documents) + - [Overview](/nx-api/angular/documents/overview) + - [Nx and the Angular CLI](/nx-api/angular/documents/nx-and-angular) + - [Nx Devkit and Angular Devkit](/nx-api/angular/documents/nx-devkit-angular-devkit) + - [Angular and Nx Version Matrix](/nx-api/angular/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) + - [package](/nx-api/angular/executors/package) + - [browser-esbuild](/nx-api/angular/executors/browser-esbuild) + - [module-federation-dev-server](/nx-api/angular/executors/module-federation-dev-server) + - [module-federation-dev-ssr](/nx-api/angular/executors/module-federation-dev-ssr) + - [application](/nx-api/angular/executors/application) + - [extract-i18n](/nx-api/angular/executors/extract-i18n) + - [webpack-browser](/nx-api/angular/executors/webpack-browser) + - [dev-server](/nx-api/angular/executors/dev-server) + - [webpack-server](/nx-api/angular/executors/webpack-server) + - [generators](/nx-api/angular/generators) + - [add-linting](/nx-api/angular/generators/add-linting) + - [application](/nx-api/angular/generators/application) + - [component](/nx-api/angular/generators/component) + - [component-story](/nx-api/angular/generators/component-story) + - [component-test](/nx-api/angular/generators/component-test) + - [convert-to-application-executor](/nx-api/angular/generators/convert-to-application-executor) + - [convert-to-rspack](/nx-api/angular/generators/convert-to-rspack) + - [directive](/nx-api/angular/generators/directive) + - [federate-module](/nx-api/angular/generators/federate-module) + - [init](/nx-api/angular/generators/init) + - [library](/nx-api/angular/generators/library) + - [library-secondary-entry-point](/nx-api/angular/generators/library-secondary-entry-point) + - [remote](/nx-api/angular/generators/remote) + - [move](/nx-api/angular/generators/move) + - [convert-to-with-mf](/nx-api/angular/generators/convert-to-with-mf) + - [host](/nx-api/angular/generators/host) + - [ng-add](/nx-api/angular/generators/ng-add) + - [ngrx](/nx-api/angular/generators/ngrx) + - [ngrx-feature-store](/nx-api/angular/generators/ngrx-feature-store) + - [ngrx-root-store](/nx-api/angular/generators/ngrx-root-store) + - [pipe](/nx-api/angular/generators/pipe) + - [scam-to-standalone](/nx-api/angular/generators/scam-to-standalone) + - [scam](/nx-api/angular/generators/scam) + - [scam-directive](/nx-api/angular/generators/scam-directive) + - [scam-pipe](/nx-api/angular/generators/scam-pipe) + - [setup-mf](/nx-api/angular/generators/setup-mf) + - [setup-ssr](/nx-api/angular/generators/setup-ssr) + - [setup-tailwind](/nx-api/angular/generators/setup-tailwind) + - [stories](/nx-api/angular/generators/stories) + - [storybook-configuration](/nx-api/angular/generators/storybook-configuration) + - [cypress-component-configuration](/nx-api/angular/generators/cypress-component-configuration) + - [web-worker](/nx-api/angular/generators/web-worker) + - [migrations](/nx-api/angular/migrations) + - [create-nx-plugin](/nx-api/create-nx-plugin) + - [create-nx-workspace](/nx-api/create-nx-workspace) + - [cypress](/nx-api/cypress) + - [documents](/nx-api/cypress/documents) + - [Overview](/nx-api/cypress/documents/overview) + - [executors](/nx-api/cypress/executors) + - [cypress](/nx-api/cypress/executors/cypress) + - [generators](/nx-api/cypress/generators) + - [init](/nx-api/cypress/generators/init) + - [configuration](/nx-api/cypress/generators/configuration) + - [component-configuration](/nx-api/cypress/generators/component-configuration) + - [migrate-to-cypress-11](/nx-api/cypress/generators/migrate-to-cypress-11) + - [convert-to-inferred](/nx-api/cypress/generators/convert-to-inferred) + - [migrations](/nx-api/cypress/migrations) + - [detox](/nx-api/detox) + - [documents](/nx-api/detox/documents) + - [Overview](/nx-api/detox/documents/overview) + - [executors](/nx-api/detox/executors) + - [build](/nx-api/detox/executors/build) + - [test](/nx-api/detox/executors/test) + - [generators](/nx-api/detox/generators) + - [init](/nx-api/detox/generators/init) + - [application](/nx-api/detox/generators/application) + - [convert-to-inferred](/nx-api/detox/generators/convert-to-inferred) + - [migrations](/nx-api/detox/migrations) + - [devkit](/nx-api/devkit) + - [documents](/nx-api/devkit/documents) + - [Overview](/nx-api/devkit/documents/nx_devkit) + - [Ng CLI Adapter](/nx-api/devkit/documents/ngcli_adapter) + - [esbuild](/nx-api/esbuild) + - [documents](/nx-api/esbuild/documents) + - [Overview](/nx-api/esbuild/documents/overview) + - [executors](/nx-api/esbuild/executors) + - [esbuild](/nx-api/esbuild/executors/esbuild) + - [generators](/nx-api/esbuild/generators) + - [init](/nx-api/esbuild/generators/init) + - [configuration](/nx-api/esbuild/generators/configuration) + - [eslint](/nx-api/eslint) + - [documents](/nx-api/eslint/documents) + - [Overview](/nx-api/eslint/documents/overview) + - [executors](/nx-api/eslint/executors) + - [lint](/nx-api/eslint/executors/lint) + - [generators](/nx-api/eslint/generators) + - [init](/nx-api/eslint/generators/init) + - [workspace-rules-project](/nx-api/eslint/generators/workspace-rules-project) + - [workspace-rule](/nx-api/eslint/generators/workspace-rule) + - [convert-to-flat-config](/nx-api/eslint/generators/convert-to-flat-config) + - [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](/nx-api/eslint-plugin/documents/overview) + - [The `enforce-module-boundaries` rule](/nx-api/eslint-plugin/documents/enforce-module-boundaries) + - [The `dependency-checks` rule](/nx-api/eslint-plugin/documents/dependency-checks) + - [migrations](/nx-api/eslint-plugin/migrations) + - [expo](/nx-api/expo) + - [documents](/nx-api/expo/documents) + - [Overview](/nx-api/expo/documents/overview) + - [executors](/nx-api/expo/executors) + - [update](/nx-api/expo/executors/update) + - [build](/nx-api/expo/executors/build) + - [build-list](/nx-api/expo/executors/build-list) + - [run](/nx-api/expo/executors/run) + - [start](/nx-api/expo/executors/start) + - [sync-deps](/nx-api/expo/executors/sync-deps) + - [ensure-symlink](/nx-api/expo/executors/ensure-symlink) + - [prebuild](/nx-api/expo/executors/prebuild) + - [install](/nx-api/expo/executors/install) + - [export](/nx-api/expo/executors/export) + - [submit](/nx-api/expo/executors/submit) + - [serve](/nx-api/expo/executors/serve) + - [generators](/nx-api/expo/generators) + - [init](/nx-api/expo/generators/init) + - [application](/nx-api/expo/generators/application) + - [library](/nx-api/expo/generators/library) + - [component](/nx-api/expo/generators/component) + - [convert-to-inferred](/nx-api/expo/generators/convert-to-inferred) + - [migrations](/nx-api/expo/migrations) + - [express](/nx-api/express) + - [documents](/nx-api/express/documents) + - [Overview](/nx-api/express/documents/overview) + - [generators](/nx-api/express/generators) + - [init](/nx-api/express/generators/init) + - [application](/nx-api/express/generators/application) + - [gradle](/nx-api/gradle) + - [documents](/nx-api/gradle/documents) + - [Overview](/nx-api/gradle/documents/overview) + - [executors](/nx-api/gradle/executors) + - [gradle](/nx-api/gradle/executors/gradle) + - [generators](/nx-api/gradle/generators) + - [init](/nx-api/gradle/generators/init) + - [ci-workflow](/nx-api/gradle/generators/ci-workflow) + - [migrations](/nx-api/gradle/migrations) + - [jest](/nx-api/jest) + - [documents](/nx-api/jest/documents) + - [Overview](/nx-api/jest/documents/overview) + - [executors](/nx-api/jest/executors) + - [jest](/nx-api/jest/executors/jest) + - [generators](/nx-api/jest/generators) + - [init](/nx-api/jest/generators/init) + - [configuration](/nx-api/jest/generators/configuration) + - [convert-to-inferred](/nx-api/jest/generators/convert-to-inferred) + - [migrations](/nx-api/jest/migrations) + - [js](/nx-api/js) + - [documents](/nx-api/js/documents) + - [Overview](/nx-api/js/documents/overview) + - [executors](/nx-api/js/executors) + - [tsc](/nx-api/js/executors/tsc) + - [swc](/nx-api/js/executors/swc) + - [node](/nx-api/js/executors/node) + - [release-publish](/nx-api/js/executors/release-publish) + - [verdaccio](/nx-api/js/executors/verdaccio) + - [generators](/nx-api/js/generators) + - [library](/nx-api/js/generators/library) + - [init](/nx-api/js/generators/init) + - [convert-to-swc](/nx-api/js/generators/convert-to-swc) + - [release-version](/nx-api/js/generators/release-version) + - [setup-verdaccio](/nx-api/js/generators/setup-verdaccio) + - [setup-build](/nx-api/js/generators/setup-build) + - [typescript-sync](/nx-api/js/generators/typescript-sync) + - [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](/nx-api/module-federation/documents/nx-module-federation-plugin) + - [NxModuleFederationDevServerPlugin](/nx-api/module-federation/documents/nx-module-federation-dev-server-plugin) + - [migrations](/nx-api/module-federation/migrations) + - [nest](/nx-api/nest) + - [documents](/nx-api/nest/documents) + - [Overview](/nx-api/nest/documents/overview) + - [generators](/nx-api/nest/generators) + - [application](/nx-api/nest/generators/application) + - [init](/nx-api/nest/generators/init) + - [library](/nx-api/nest/generators/library) + - [class](/nx-api/nest/generators/class) + - [controller](/nx-api/nest/generators/controller) + - [decorator](/nx-api/nest/generators/decorator) + - [filter](/nx-api/nest/generators/filter) + - [gateway](/nx-api/nest/generators/gateway) + - [guard](/nx-api/nest/generators/guard) + - [interceptor](/nx-api/nest/generators/interceptor) + - [interface](/nx-api/nest/generators/interface) + - [middleware](/nx-api/nest/generators/middleware) + - [module](/nx-api/nest/generators/module) + - [pipe](/nx-api/nest/generators/pipe) + - [provider](/nx-api/nest/generators/provider) + - [resolver](/nx-api/nest/generators/resolver) + - [resource](/nx-api/nest/generators/resource) + - [service](/nx-api/nest/generators/service) + - [next](/nx-api/next) + - [documents](/nx-api/next/documents) + - [Overview](/nx-api/next/documents/overview) + - [executors](/nx-api/next/executors) + - [build](/nx-api/next/executors/build) + - [server](/nx-api/next/executors/server) + - [generators](/nx-api/next/generators) + - [init](/nx-api/next/generators/init) + - [application](/nx-api/next/generators/application) + - [page](/nx-api/next/generators/page) + - [component](/nx-api/next/generators/component) + - [library](/nx-api/next/generators/library) + - [custom-server](/nx-api/next/generators/custom-server) + - [cypress-component-configuration](/nx-api/next/generators/cypress-component-configuration) + - [convert-to-inferred](/nx-api/next/generators/convert-to-inferred) + - [migrations](/nx-api/next/migrations) + - [node](/nx-api/node) + - [documents](/nx-api/node/documents) + - [Overview](/nx-api/node/documents/overview) + - [generators](/nx-api/node/generators) + - [init](/nx-api/node/generators/init) + - [application](/nx-api/node/generators/application) + - [library](/nx-api/node/generators/library) + - [setup-docker](/nx-api/node/generators/setup-docker) + - [migrations](/nx-api/node/migrations) + - [nuxt](/nx-api/nuxt) + - [documents](/nx-api/nuxt/documents) + - [Overview](/nx-api/nuxt/documents/overview) + - [generators](/nx-api/nuxt/generators) + - [init](/nx-api/nuxt/generators/init) + - [application](/nx-api/nuxt/generators/application) + - [storybook-configuration](/nx-api/nuxt/generators/storybook-configuration) + - [migrations](/nx-api/nuxt/migrations) + - [nx](/nx-api/nx) + - [documents](/nx-api/nx/documents) + - [create-nx-workspace](/nx-api/nx/documents/create-nx-workspace) + - [init](/nx-api/nx/documents/init) + - [generate](/nx-api/nx/documents/generate) + - [run](/nx-api/nx/documents/run) + - [daemon](/nx-api/nx/documents/daemon) + - [graph](/nx-api/nx/documents/dep-graph) + - [run-many](/nx-api/nx/documents/run-many) + - [affected](/nx-api/nx/documents/affected) + - [format:check](/nx-api/nx/documents/format-check) + - [format:write](/nx-api/nx/documents/format-write) + - [migrate](/nx-api/nx/documents/migrate) + - [report](/nx-api/nx/documents/report) + - [list](/nx-api/nx/documents/list) + - [connect-to-nx-cloud](/nx-api/nx/documents/connect-to-nx-cloud) + - [reset](/nx-api/nx/documents/reset) + - [repair](/nx-api/nx/documents/repair) + - [sync](/nx-api/nx/documents/sync) + - [sync:check](/nx-api/nx/documents/sync-check) + - [import](/nx-api/nx/documents/import) + - [exec](/nx-api/nx/documents/exec) + - [watch](/nx-api/nx/documents/watch) + - [show](/nx-api/nx/documents/show) + - [view-logs](/nx-api/nx/documents/view-logs) + - [release](/nx-api/nx/documents/release) + - [add](/nx-api/nx/documents/add) + - [login](/nx-api/nx/documents/login) + - [logout](/nx-api/nx/documents/logout) + - [executors](/nx-api/nx/executors) + - [noop](/nx-api/nx/executors/noop) + - [run-commands](/nx-api/nx/executors/run-commands) + - [run-script](/nx-api/nx/executors/run-script) + - [generators](/nx-api/nx/generators) + - [connect-to-nx-cloud](/nx-api/nx/generators/connect-to-nx-cloud) + - [migrations](/nx-api/nx/migrations) + - [playwright](/nx-api/playwright) + - [documents](/nx-api/playwright/documents) + - [Overview](/nx-api/playwright/documents/overview) + - [executors](/nx-api/playwright/executors) + - [playwright](/nx-api/playwright/executors/playwright) + - [generators](/nx-api/playwright/generators) + - [configuration](/nx-api/playwright/generators/configuration) + - [init](/nx-api/playwright/generators/init) + - [convert-to-inferred](/nx-api/playwright/generators/convert-to-inferred) + - [migrations](/nx-api/playwright/migrations) + - [plugin](/nx-api/plugin) + - [documents](/nx-api/plugin/documents) + - [Overview](/nx-api/plugin/documents/overview) + - [generators](/nx-api/plugin/generators) + - [plugin](/nx-api/plugin/generators/plugin) + - [create-package](/nx-api/plugin/generators/create-package) + - [e2e-project](/nx-api/plugin/generators/e2e-project) + - [migration](/nx-api/plugin/generators/migration) + - [generator](/nx-api/plugin/generators/generator) + - [executor](/nx-api/plugin/generators/executor) + - [plugin-lint-checks](/nx-api/plugin/generators/plugin-lint-checks) + - [preset](/nx-api/plugin/generators/preset) + - [react](/nx-api/react) + - [documents](/nx-api/react/documents) + - [Overview](/nx-api/react/documents/overview) + - [executors](/nx-api/react/executors) + - [module-federation-dev-server](/nx-api/react/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/nx-api/react/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/nx-api/react/executors/module-federation-static-server) + - [generators](/nx-api/react/generators) + - [init](/nx-api/react/generators/init) + - [application](/nx-api/react/generators/application) + - [library](/nx-api/react/generators/library) + - [component](/nx-api/react/generators/component) + - [redux](/nx-api/react/generators/redux) + - [storybook-configuration](/nx-api/react/generators/storybook-configuration) + - [component-story](/nx-api/react/generators/component-story) + - [stories](/nx-api/react/generators/stories) + - [hook](/nx-api/react/generators/hook) + - [host](/nx-api/react/generators/host) + - [remote](/nx-api/react/generators/remote) + - [cypress-component-configuration](/nx-api/react/generators/cypress-component-configuration) + - [component-test](/nx-api/react/generators/component-test) + - [setup-tailwind](/nx-api/react/generators/setup-tailwind) + - [setup-ssr](/nx-api/react/generators/setup-ssr) + - [federate-module](/nx-api/react/generators/federate-module) + - [migrations](/nx-api/react/migrations) + - [react-native](/nx-api/react-native) + - [documents](/nx-api/react-native/documents) + - [Overview](/nx-api/react-native/documents/overview) + - [executors](/nx-api/react-native/executors) + - [run-android](/nx-api/react-native/executors/run-android) + - [run-ios](/nx-api/react-native/executors/run-ios) + - [bundle](/nx-api/react-native/executors/bundle) + - [build-android](/nx-api/react-native/executors/build-android) + - [build-ios](/nx-api/react-native/executors/build-ios) + - [start](/nx-api/react-native/executors/start) + - [sync-deps](/nx-api/react-native/executors/sync-deps) + - [ensure-symlink](/nx-api/react-native/executors/ensure-symlink) + - [storybook](/nx-api/react-native/executors/storybook) + - [pod-install](/nx-api/react-native/executors/pod-install) + - [upgrade](/nx-api/react-native/executors/upgrade) + - [generators](/nx-api/react-native/generators) + - [init](/nx-api/react-native/generators/init) + - [application](/nx-api/react-native/generators/application) + - [library](/nx-api/react-native/generators/library) + - [component](/nx-api/react-native/generators/component) + - [storybook-configuration](/nx-api/react-native/generators/storybook-configuration) + - [component-story](/nx-api/react-native/generators/component-story) + - [stories](/nx-api/react-native/generators/stories) + - [upgrade-native](/nx-api/react-native/generators/upgrade-native) + - [web-configuration](/nx-api/react-native/generators/web-configuration) + - [convert-to-inferred](/nx-api/react-native/generators/convert-to-inferred) + - [migrations](/nx-api/react-native/migrations) + - [remix](/nx-api/remix) + - [documents](/nx-api/remix/documents) + - [Overview](/nx-api/remix/documents/overview) + - [executors](/nx-api/remix/executors) + - [serve](/nx-api/remix/executors/serve) + - [build](/nx-api/remix/executors/build) + - [generators](/nx-api/remix/generators) + - [preset](/nx-api/remix/generators/preset) + - [setup](/nx-api/remix/generators/setup) + - [application](/nx-api/remix/generators/application) + - [cypress-component-configuration](/nx-api/remix/generators/cypress-component-configuration) + - [library](/nx-api/remix/generators/library) + - [init](/nx-api/remix/generators/init) + - [route](/nx-api/remix/generators/route) + - [resource-route](/nx-api/remix/generators/resource-route) + - [action](/nx-api/remix/generators/action) + - [loader](/nx-api/remix/generators/loader) + - [style](/nx-api/remix/generators/style) + - [setup-tailwind](/nx-api/remix/generators/setup-tailwind) + - [storybook-configuration](/nx-api/remix/generators/storybook-configuration) + - [meta](/nx-api/remix/generators/meta) + - [error-boundary](/nx-api/remix/generators/error-boundary) + - [convert-to-inferred](/nx-api/remix/generators/convert-to-inferred) + - [migrations](/nx-api/remix/migrations) + - [rollup](/nx-api/rollup) + - [executors](/nx-api/rollup/executors) + - [rollup](/nx-api/rollup/executors/rollup) + - [generators](/nx-api/rollup/generators) + - [init](/nx-api/rollup/generators/init) + - [configuration](/nx-api/rollup/generators/configuration) + - [convert-to-inferred](/nx-api/rollup/generators/convert-to-inferred) + - [migrations](/nx-api/rollup/migrations) + - [rsbuild](/nx-api/rsbuild) + - [generators](/nx-api/rsbuild/generators) + - [init](/nx-api/rsbuild/generators/init) + - [configuration](/nx-api/rsbuild/generators/configuration) + - [rspack](/nx-api/rspack) + - [documents](/nx-api/rspack/documents) + - [Overview](/nx-api/rspack/documents/overview) + - [executors](/nx-api/rspack/executors) + - [rspack](/nx-api/rspack/executors/rspack) + - [dev-server](/nx-api/rspack/executors/dev-server) + - [ssr-dev-server](/nx-api/rspack/executors/ssr-dev-server) + - [module-federation-dev-server](/nx-api/rspack/executors/module-federation-dev-server) + - [module-federation-ssr-dev-server](/nx-api/rspack/executors/module-federation-ssr-dev-server) + - [module-federation-static-server](/nx-api/rspack/executors/module-federation-static-server) + - [generators](/nx-api/rspack/generators) + - [configuration](/nx-api/rspack/generators/configuration) + - [init](/nx-api/rspack/generators/init) + - [preset](/nx-api/rspack/generators/preset) + - [application](/nx-api/rspack/generators/application) + - [convert-webpack](/nx-api/rspack/generators/convert-webpack) + - [convert-config-to-rspack-plugin](/nx-api/rspack/generators/convert-config-to-rspack-plugin) + - [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](/nx-api/storybook/documents/overview) + - [Storybook best practices for making the most out of Nx](/nx-api/storybook/documents/best-practices) + - [Storybook 7](/nx-api/storybook/documents/storybook-7-setup) + - [executors](/nx-api/storybook/executors) + - [storybook](/nx-api/storybook/executors/storybook) + - [build](/nx-api/storybook/executors/build) + - [generators](/nx-api/storybook/generators) + - [init](/nx-api/storybook/generators/init) + - [configuration](/nx-api/storybook/generators/configuration) + - [cypress-project](/nx-api/storybook/generators/cypress-project) + - [convert-to-inferred](/nx-api/storybook/generators/convert-to-inferred) + - [migrate-7](/nx-api/storybook/generators/migrate-7) + - [migrate-8](/nx-api/storybook/generators/migrate-8) + - [migrations](/nx-api/storybook/migrations) + - [vite](/nx-api/vite) + - [documents](/nx-api/vite/documents) + - [Overview](/nx-api/vite/documents/overview) + - [executors](/nx-api/vite/executors) + - [dev-server](/nx-api/vite/executors/dev-server) + - [build](/nx-api/vite/executors/build) + - [test](/nx-api/vite/executors/test) + - [preview-server](/nx-api/vite/executors/preview-server) + - [generators](/nx-api/vite/generators) + - [init](/nx-api/vite/generators/init) + - [configuration](/nx-api/vite/generators/configuration) + - [setup-paths-plugin](/nx-api/vite/generators/setup-paths-plugin) + - [convert-to-inferred](/nx-api/vite/generators/convert-to-inferred) + - [vitest](/nx-api/vite/generators/vitest) + - [migrations](/nx-api/vite/migrations) + - [vue](/nx-api/vue) + - [documents](/nx-api/vue/documents) + - [Overview](/nx-api/vue/documents/overview) + - [generators](/nx-api/vue/generators) + - [init](/nx-api/vue/generators/init) + - [application](/nx-api/vue/generators/application) + - [library](/nx-api/vue/generators/library) + - [component](/nx-api/vue/generators/component) + - [setup-tailwind](/nx-api/vue/generators/setup-tailwind) + - [storybook-configuration](/nx-api/vue/generators/storybook-configuration) + - [stories](/nx-api/vue/generators/stories) + - [migrations](/nx-api/vue/migrations) + - [web](/nx-api/web) + - [documents](/nx-api/web/documents) + - [Overview](/nx-api/web/documents/overview) + - [executors](/nx-api/web/executors) + - [file-server](/nx-api/web/executors/file-server) + - [generators](/nx-api/web/generators) + - [init](/nx-api/web/generators/init) + - [application](/nx-api/web/generators/application) + - [static-config](/nx-api/web/generators/static-config) + - [webpack](/nx-api/webpack) + - [documents](/nx-api/webpack/documents) + - [Overview](/nx-api/webpack/documents/overview) + - [executors](/nx-api/webpack/executors) + - [webpack](/nx-api/webpack/executors/webpack) + - [dev-server](/nx-api/webpack/executors/dev-server) + - [ssr-dev-server](/nx-api/webpack/executors/ssr-dev-server) + - [generators](/nx-api/webpack/generators) + - [init](/nx-api/webpack/generators/init) + - [configuration](/nx-api/webpack/generators/configuration) + - [convert-config-to-webpack-plugin](/nx-api/webpack/generators/convert-config-to-webpack-plugin) + - [convert-to-inferred](/nx-api/webpack/generators/convert-to-inferred) + - [migrations](/nx-api/webpack/migrations) + - [workspace](/nx-api/workspace) + - [documents](/nx-api/workspace/documents) + - [Overview](/nx-api/workspace/documents/overview) + - [Nx, NodeJS and Typescript Versions](/nx-api/workspace/documents/nx-nodejs-typescript-version-matrix) + - [executors](/nx-api/workspace/executors) + - [counter](/nx-api/workspace/executors/counter) + - [generators](/nx-api/workspace/generators) + - [preset](/nx-api/workspace/generators/preset) + - [move](/nx-api/workspace/generators/move) + - [remove](/nx-api/workspace/generators/remove) + - [convert-to-monorepo](/nx-api/workspace/generators/convert-to-monorepo) + - [new](/nx-api/workspace/generators/new) + - [run-commands](/nx-api/workspace/generators/run-commands) + - [fix-configuration](/nx-api/workspace/generators/fix-configuration) + - [npm-package](/nx-api/workspace/generators/npm-package) + - [ci-workflow](/nx-api/workspace/generators/ci-workflow) + - [infer-targets](/nx-api/workspace/generators/infer-targets) + - [migrations](/nx-api/workspace/migrations) + - [azure-cache](/nx-api/azure-cache) + - [documents](/nx-api/azure-cache/documents) + - [Overview](/nx-api/azure-cache/documents/overview) + - [conformance](/nx-api/conformance) + - [documents](/nx-api/conformance/documents) + - [Overview](/nx-api/conformance/documents/overview) + - [Create a Conformance Rule](/nx-api/conformance/documents/create-conformance-rule) + - [executors](/nx-api/conformance/executors) + - [bundle-rules](/nx-api/conformance/executors/bundle-rules) + - [generators](/nx-api/conformance/generators) + - [create-rule](/nx-api/conformance/generators/create-rule) + - [owners](/nx-api/owners) + - [documents](/nx-api/owners/documents) + - [Overview](/nx-api/owners/documents/overview) + - [generators](/nx-api/owners/generators) + - [init](/nx-api/owners/generators/init) + - [sync-codeowners-file](/nx-api/owners/generators/sync-codeowners-file) + - [gcs-cache](/nx-api/gcs-cache) + - [documents](/nx-api/gcs-cache/documents) + - [Overview](/nx-api/gcs-cache/documents/overview) + - [s3-cache](/nx-api/s3-cache) + - [documents](/nx-api/s3-cache/documents) + - [Overview](/nx-api/s3-cache/documents/overview) + - [shared-fs-cache](/nx-api/shared-fs-cache) + - [documents](/nx-api/shared-fs-cache/documents) + - [Overview](/nx-api/shared-fs-cache/documents/overview) + - [generators](/nx-api/shared-fs-cache/generators) + - [init](/nx-api/shared-fs-cache/generators/init) + - Nx-api - [angular](/nx-api/angular) - [documents](/nx-api/angular/documents) diff --git a/docs/shared/tutorials/angular-monorepo.md b/docs/shared/tutorials/angular-monorepo.md index f6b930f32f..0da5919ccc 100644 --- a/docs/shared/tutorials/angular-monorepo.md +++ b/docs/shared/tutorials/angular-monorepo.md @@ -1336,9 +1336,9 @@ 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) - Learn more about the [underlying mental model of Nx](/concepts/mental-model) -- Learn about popular generators such as [how to setup Tailwind](/recipes/angular/using-tailwind-css-with-angular-projects) -- Learn how to [migrate your existing Angular CLI repo to Nx](/recipes/angular/migration/angular) -- [Setup Storybook for our shared UI library](/recipes/storybook/overview-angular) +- 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) +- [Setup Storybook for our shared UI library](/technologies/test-tools/storybook/recipes/overview-angular) Also, make sure you diff --git a/docs/shared/tutorials/react-monorepo.md b/docs/shared/tutorials/react-monorepo.md index 443196ba2d..9e81c7dc96 100644 --- a/docs/shared/tutorials/react-monorepo.md +++ b/docs/shared/tutorials/react-monorepo.md @@ -1178,8 +1178,8 @@ Here's some things you can dive into next: - Learn more about the [underlying mental model of Nx](/concepts/mental-model) - Learn how to [migrate your React app to Nx](/recipes/adopting-nx/adding-to-existing-project) -- [Learn how to setup Tailwind](/recipes/react/using-tailwind-css-in-react) -- [Setup Storybook for our shared UI library](/recipes/storybook/overview-react) +- [Learn how to setup Tailwind](/technologies/react/recipes/using-tailwind-css-in-react) +- [Setup Storybook for our shared UI library](/technologies/test-tools/storybook/recipes/overview-react) Also, make sure you diff --git a/nx-dev/data-access-documents/src/lib/documents.api.ts b/nx-dev/data-access-documents/src/lib/documents.api.ts index e81e28bea5..0787be2f4a 100644 --- a/nx-dev/data-access-documents/src/lib/documents.api.ts +++ b/nx-dev/data-access-documents/src/lib/documents.api.ts @@ -1,11 +1,13 @@ import { - DocumentMetadata, - ProcessedDocument, - RelatedDocument, + pkgToGeneratedApiDocs, + type DocumentMetadata, + type ProcessedDocument, + type RelatedDocument, } from '@nx/nx-dev/models-document'; -import { readFileSync } from 'fs'; -import { join } from 'path'; -import { TagsApi } from './tags.api'; +import { type ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; +import { type TagsApi } from './tags.api'; interface StaticDocumentPaths { params: { segments: string[] }; @@ -13,11 +15,13 @@ interface StaticDocumentPaths { export class DocumentsApi { private readonly manifest: Record; + private readonly packagesManifest?: Record; constructor( private readonly options: { id: string; manifest: Record; + packagesManifest?: Record; prefix: string; publicDocsRoot: string; tagsApi: TagsApi; @@ -37,6 +41,9 @@ export class DocumentsApi { } this.manifest = structuredClone(this.options.manifest); + if (this.options.packagesManifest) { + this.packagesManifest = structuredClone(this.options.packagesManifest); + } if ( options.id === 'angular-rspack-documents' || options.id === 'angular-rsbuild-documents' @@ -99,7 +106,7 @@ export class DocumentsApi { } getFilePath(path: string): string { - return join(this.options.publicDocsRoot, `${path}.md`); + return join(this.options.publicDocsRoot, path); } getParamsStaticDocumentPaths(): StaticDocumentPaths[] { @@ -113,11 +120,49 @@ export class DocumentsApi { } getSlugsStaticDocumentPaths(): string[] { - if (this.options.prefix) - return Object.keys(this.manifest).map( + let paths: string[] = []; + + // Add regular document paths + if (this.options.prefix) { + paths = Object.keys(this.manifest).map( (path) => `/${this.options.prefix}` + path ); - return Object.keys(this.manifest); + } else { + paths = Object.keys(this.manifest); + } + + // API Docs + if (this.packagesManifest) { + const packages = Object.values(this.packagesManifest); + + packages.forEach((pkg) => { + const apiDocData = pkgToGeneratedApiDocs[pkg.name]; + // Packages are not mapped, skip creating URLs for them. + if (!apiDocData) return; + const apiPagePath = apiDocData.pagePath; + paths.push(apiPagePath); + + if (apiDocData.includeDocuments) { + paths.push(`${apiPagePath}/documents`); + Object.keys(pkg.documents).forEach((path) => { + paths.push(path); + }); + } + + paths.push(`${apiPagePath}/executors`); + Object.keys(pkg.executors).forEach((path) => { + paths.push(path); + }); + + paths.push(`${apiPagePath}/generators`); + Object.keys(pkg.generators).forEach((path) => { + paths.push(path); + }); + + paths.push(`${apiPagePath}/migrations`); + }); + } + return paths; } getDocument(path: string[]): ProcessedDocument { @@ -125,6 +170,7 @@ export class DocumentsApi { this.manifest[this.getManifestKey(path.join('/'))] || null; if (!document) { + // Legacy handler for devkit docs if ( path[0] === 'nx-api' && path[1] === 'devkit' && @@ -132,7 +178,25 @@ export class DocumentsApi { ) { const file = `generated/devkit/${path.slice(3).join('/')}`; return { - content: readFileSync(this.getFilePath(file), 'utf8'), + content: readFileSync(this.getFilePath(`${file}.md`), 'utf8'), + description: '', + filePath: this.getFilePath(file), + id: path.at(-1) || '', + name: path.at(-1) || '', + relatedDocuments: {}, + tags: [], + }; + } + // NEW Legacy handler for devkit docs + if ( + path[0] === 'reference' && + path[1] === 'core-api' && + path[2] === 'devkit' && + path[3] === 'documents' + ) { + const file = `generated/devkit/${path.slice(4).join('/')}`; + return { + content: readFileSync(this.getFilePath(`${file}.md`), 'utf8'), description: '', filePath: this.getFilePath(file), id: path.at(-1) || '', @@ -147,9 +211,9 @@ export class DocumentsApi { } if (this.isDocumentIndex(document)) return this.getDocumentIndex(path); return { - content: readFileSync(this.getFilePath(document.file), 'utf8'), + content: readFileSync(this.getFilePath(`${document.file}.md`), 'utf8'), description: document.description, - filePath: this.getFilePath(document.file), + filePath: this.getFilePath(`${document.file}.md`), id: document.id, name: document.name, mediaImage: document.mediaImage || '', @@ -190,7 +254,7 @@ export class DocumentsApi { } isDocumentIndex(document: DocumentMetadata): boolean { - return !!document.itemList.length; + return !!document.itemList.length || !document.file; } generateDocumentIndexTemplate(document: DocumentMetadata): string { @@ -211,9 +275,9 @@ export class DocumentsApi { .join(''); return [ `# ${document.name}\n\n ${document.description ?? ''}\n\n`, - '{% cards %}\n', - cardsTemplate, - '{% /cards %}\n\n', + ...(!document.itemList.length + ? ['No items found.'] + : ['{% cards %}\n', cardsTemplate, '{% /cards %}\n\n']), ].join(''); } @@ -228,9 +292,9 @@ export class DocumentsApi { if (!!document.file) return { - content: readFileSync(this.getFilePath(document.file), 'utf8'), + content: readFileSync(this.getFilePath(`${document.file}.md`), 'utf8'), description: document.description, - filePath: this.getFilePath(document.file), + filePath: this.getFilePath(`${document.file}.md`), id: document.id, name: document.name, relatedDocuments: this.getRelatedDocuments(document.tags), diff --git a/nx-dev/data-access-menu/src/lib/menu.utils.ts b/nx-dev/data-access-menu/src/lib/menu.utils.ts index d11258aa04..b58738053c 100644 --- a/nx-dev/data-access-menu/src/lib/menu.utils.ts +++ b/nx-dev/data-access-menu/src/lib/menu.utils.ts @@ -13,6 +13,7 @@ export function getBasicNxSection(items: MenuItem[]): MenuSection { m.id === 'getting-started' || m.id === 'features' || m.id === 'concepts' || + m.id === 'technologies' || m.id === 'recipes' || m.id === 'nx-enterprise' || m.id === 'showcase' || @@ -30,22 +31,6 @@ export function getBasicNxSection(items: MenuItem[]): MenuSection { }; } -export function getBasicRecipesSection(items: MenuItem[]): MenuSection { - return { - id: 'basic', - name: 'Basic', - hideSectionHeader: true, - itemList: items - // .filter((m) => m.id === 'getting-started') - .map((m) => { - return { - ...m, - disableCollapsible: true, - }; - }), - }; -} - export function getBasicPluginsSection(items: MenuItem[]): MenuSection { return { id: 'basic', @@ -113,21 +98,3 @@ export function getBasicNxCloudSection(items: MenuItem[]): MenuSection { }), }; } - -export function getDeepDiveNxCloudSection(items: MenuItem[]): MenuSection { - return { - id: 'deep-dive', - name: 'Deep Dive', - hideSectionHeader: false, - itemList: items - .filter((m) => m.id === 'private-cloud') - .map((m) => ({ - ...m, - disableCollapsible: true, - itemList: m.children?.map((item) => ({ - ...item, - disableCollapsible: true, - })), - })), - }; -} diff --git a/nx-dev/data-access-packages/src/lib/packages.api.ts b/nx-dev/data-access-packages/src/lib/packages.api.ts index f9c5b0c738..33fdcf79bb 100644 --- a/nx-dev/data-access-packages/src/lib/packages.api.ts +++ b/nx-dev/data-access-packages/src/lib/packages.api.ts @@ -153,6 +153,7 @@ export class PackagesApi { } const packages = Object.values(this.manifest); + const experiment: { packages: StaticDocumentPaths[]; documents: StaticDocumentPaths[]; diff --git a/nx-dev/feature-package-schema-viewer/src/lib/package-schema-list.tsx b/nx-dev/feature-package-schema-viewer/src/lib/package-schema-list.tsx index 04f7c49df9..bb4d34634d 100644 --- a/nx-dev/feature-package-schema-viewer/src/lib/package-schema-list.tsx +++ b/nx-dev/feature-package-schema-viewer/src/lib/package-schema-list.tsx @@ -108,10 +108,14 @@ export function PackageSchemaList({ available from this package.

- - + {vm.package.documents?.length ? ( + <> + + +
{/* SPACER */}
+ + ) : null} -
{/* SPACER */}
diff --git a/nx-dev/feature-package-schema-viewer/src/lib/package-schema-sub-list.tsx b/nx-dev/feature-package-schema-viewer/src/lib/package-schema-sub-list.tsx index e9c8767e83..efba6509d2 100644 --- a/nx-dev/feature-package-schema-viewer/src/lib/package-schema-sub-list.tsx +++ b/nx-dev/feature-package-schema-viewer/src/lib/package-schema-sub-list.tsx @@ -99,7 +99,7 @@ export function PackageSchemaSubList({ -

+

Here is a list of all {vm.type}s available for this package.

diff --git a/nx-dev/feature-package-schema-viewer/src/lib/ui/package-reference.tsx b/nx-dev/feature-package-schema-viewer/src/lib/ui/package-reference.tsx index f7cd94351e..24b6cfec9c 100644 --- a/nx-dev/feature-package-schema-viewer/src/lib/ui/package-reference.tsx +++ b/nx-dev/feature-package-schema-viewer/src/lib/ui/package-reference.tsx @@ -1,3 +1,4 @@ +import { type JSX } from 'react'; import { CogIcon, CpuChipIcon, @@ -8,7 +9,6 @@ import { DocumentMetadata } from '@nx/nx-dev/models-document'; import { FileMetadata } from '@nx/nx-dev/models-package'; import { renderMarkdown } from '@nx/nx-dev/ui-markdoc'; import Link from 'next/link'; -import React from 'react'; export function DocumentList({ documents, @@ -53,10 +53,6 @@ function DocumentListItem({ ); } -interface MigrationFileMetadata extends FileMetadata { - version: string; -} - export function SchemaList({ files, type, diff --git a/nx-dev/models-document/src/index.ts b/nx-dev/models-document/src/index.ts index 76eaa5ecec..63a17e11a4 100644 --- a/nx-dev/models-document/src/index.ts +++ b/nx-dev/models-document/src/index.ts @@ -1,3 +1,4 @@ export * from './lib/documents.models'; export * from './lib/documents.transformers'; export * from './lib/related-documents.utils'; +export { pkgToGeneratedApiDocs } from './lib/mappings'; diff --git a/nx-dev/models-document/src/lib/mappings.ts b/nx-dev/models-document/src/lib/mappings.ts new file mode 100644 index 0000000000..99aab7c6b3 --- /dev/null +++ b/nx-dev/models-document/src/lib/mappings.ts @@ -0,0 +1,166 @@ +/* + * We present a different grouping or naming for the API docs compared to their package names. + * - pagePath - the path to the package's API docs page + * - includeDocuments - whether to include documents, which should eventually be moved to guides + * + * This mapping is used in: + * - scripts/documentation/generators/generate-manifests.ts (generate menus) + * - nx-dev/data-access-documents/src/lib/documents.api.ts (generate page urls) + * - nx-dev/nx-dev/pages/[...segments].tsx (generate page content) + */ +export const pkgToGeneratedApiDocs: Record< + string, + { pagePath: string; includeDocuments?: boolean } +> = { + // ts/js + js: { + pagePath: '/technologies/typescript/api', + }, + // angular + angular: { + pagePath: '/technologies/angular/api', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + // react + react: { + pagePath: '/technologies/react/api', + }, + 'react-native': { + pagePath: '/technologies/react/react-native/api', + }, + expo: { + pagePath: '/technologies/react/expo/api', + }, + next: { + pagePath: '/technologies/react/next/api', + }, + remix: { + pagePath: '/technologies/react/remix/api', + }, + // vue + vue: { + pagePath: '/technologies/vue/api', + }, + nuxt: { + pagePath: '/technologies/vue/nuxt/api', + }, + // node + node: { + pagePath: '/technologies/node/api', + }, + express: { + pagePath: '/technologies/node/express/api', + }, + nest: { + pagePath: '/technologies/node/nest/api', + }, + // java + gradle: { + pagePath: '/technologies/java/api', + }, + // build tools + webpack: { + pagePath: '/technologies/build-tools/webpack/api', + }, + vite: { + pagePath: '/technologies/build-tools/vite/api', + }, + rollup: { + pagePath: '/technologies/build-tools/rollup/api', + }, + esbuild: { + pagePath: '/technologies/build-tools/esbuild/api', + }, + rspack: { + pagePath: '/technologies/build-tools/rspack/api', + }, + rsbuild: { + pagePath: '/technologies/build-tools/rsbuild/api', + }, + // test tools + jest: { + pagePath: '/technologies/test-tools/jest/api', + }, + 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', + }, + cypress: { + pagePath: '/technologies/test-tools/cypress/api', + }, + detox: { + pagePath: '/technologies/test-tools/detox/api', + }, + // 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 + nx: { + pagePath: '/reference/core-api/nx', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + workspace: { + pagePath: '/reference/core-api/workspace', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + owners: { + pagePath: '/reference/core-api/owners', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + conformance: { + pagePath: '/reference/core-api/conformance', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + 'azure-cache': { + pagePath: '/reference/core-api/azure-cache', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + 'gcs-cache': { + pagePath: '/reference/core-api/gcs-cache', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + 's3-cache': { + pagePath: '/reference/core-api/s3-cache', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + 'shared-fs-cache': { + pagePath: '/reference/core-api/shared-fs-cache', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + devkit: { + pagePath: '/reference/core-api/devkit', + // TODO(docs): move these to guides and remove this + includeDocuments: true, + }, + plugin: { + pagePath: '/reference/core-api/plugin', + }, + web: { + pagePath: '/reference/core-api/web', + }, +}; diff --git a/nx-dev/models-document/src/lib/related-documents.utils.ts b/nx-dev/models-document/src/lib/related-documents.utils.ts index a4f87cbbe1..9b4339c28e 100644 --- a/nx-dev/models-document/src/lib/related-documents.utils.ts +++ b/nx-dev/models-document/src/lib/related-documents.utils.ts @@ -44,7 +44,7 @@ export function categorizeRelatedDocuments( }, ]; - items.forEach((i) => + items?.forEach((i) => categories.forEach((c) => { if (c.matchers.some((m) => i.path.includes(m))) c.relatedDocuments.push(i); diff --git a/nx-dev/models-package/src/lib/package.models.ts b/nx-dev/models-package/src/lib/package.models.ts index 92f4d7e77d..ffbe4ab250 100644 --- a/nx-dev/models-package/src/lib/package.models.ts +++ b/nx-dev/models-package/src/lib/package.models.ts @@ -5,7 +5,6 @@ import { DocumentMetadata } from '@nx/nx-dev/models-document'; */ import { JsonSchema1 } from './json-schema.models'; -export type PackageContentTypes = 'documents' | 'executors' | 'generators'; export interface FileMetadata { description: string; file: string; diff --git a/nx-dev/nx-dev/lib/new-packages.api.ts b/nx-dev/nx-dev/lib/new-packages.api.ts new file mode 100644 index 0000000000..09750b50d1 --- /dev/null +++ b/nx-dev/nx-dev/lib/new-packages.api.ts @@ -0,0 +1,12 @@ +import { PackagesApi } from '@nx/nx-dev/data-access-packages/node-only'; +import { ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; +import packages from '../public/documentation/generated/manifests/new-nx-api.json'; +import { tagsApi } from './tags.api'; + +export const nxNewPackagesApi = new PackagesApi({ + id: 'nx-api', + manifest: packages as Record, + prefix: '', + publicDocsRoot: 'public/documentation', + tagsApi, +}); diff --git a/nx-dev/nx-dev/lib/nx.api.ts b/nx-dev/nx-dev/lib/nx.api.ts index be31f41f21..0887f85765 100644 --- a/nx-dev/nx-dev/lib/nx.api.ts +++ b/nx-dev/nx-dev/lib/nx.api.ts @@ -1,10 +1,13 @@ import { DocumentsApi } from '@nx/nx-dev/data-access-documents/node-only'; import documents from '../public/documentation/generated/manifests/nx.json'; +import packages from '../public/documentation/generated/manifests/new-nx-api.json'; import { tagsApi } from './tags.api'; +import { type ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; export const nxDocumentationApi = new DocumentsApi({ id: 'nx', manifest: documents, + packagesManifest: packages as Record, prefix: '', publicDocsRoot: 'public/documentation', tagsApi, diff --git a/nx-dev/nx-dev/pages/[...segments].tsx b/nx-dev/nx-dev/pages/[...segments].tsx index 12bd270974..3375e564c7 100644 --- a/nx-dev/nx-dev/pages/[...segments].tsx +++ b/nx-dev/nx-dev/pages/[...segments].tsx @@ -1,31 +1,77 @@ import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; import { DocViewer } from '@nx/nx-dev/feature-doc-viewer'; -import { ProcessedDocument, RelatedDocument } from '@nx/nx-dev/models-document'; +import { PackageSchemaSubList } from '@nx/nx-dev/feature-package-schema-viewer/src/lib/package-schema-sub-list'; +import { + pkgToGeneratedApiDocs, + ProcessedDocument, + RelatedDocument, +} from '@nx/nx-dev/models-document'; import { MenuItem } from '@nx/nx-dev/models-menu'; import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common'; import { GetStaticPaths, GetStaticProps } from 'next'; import { menusApi } from '../lib/menus.api'; import { useNavToggle } from '../lib/navigation-toggle.effect'; import { nxDocumentationApi } from '../lib/nx.api'; +import { nxNewPackagesApi } from '../lib/new-packages.api'; import { tagsApi } from '../lib/tags.api'; import { fetchGithubStarCount } from '../lib/githubStars.api'; import { ScrollableContent } from '@nx/ui-scrollable-content'; +import { + PackageSchemaList, + PackageSchemaViewer, +} from '@nx/nx-dev/feature-package-schema-viewer'; +import { + type MigrationMetadata, + type ProcessedPackageMetadata, + type SchemaMetadata, +} from '@nx/nx-dev/models-package'; +import { DocumentsApi } from '@nx/nx-dev/data-access-documents/node-only'; -export default function NxDocumentation({ - document, - menu, - relatedDocuments, - widgetData, -}: { - document: ProcessedDocument; - menu: MenuItem[]; - relatedDocuments: RelatedDocument[]; - widgetData: { githubStarsCount: number }; -}) { +type NxDocumentationProps = + | { + pageType: 'document'; + menu: MenuItem[]; + document: ProcessedDocument; + relatedDocuments: RelatedDocument[]; + widgetData: { githubStarsCount: number }; + } + | { + pageType: 'api-index'; + menu: MenuItem[]; + pkg: ProcessedPackageMetadata; + migrations: MigrationMetadata[]; + } + | { + pageType: 'migrations'; + menu: MenuItem[]; + pkg: ProcessedPackageMetadata; + migrations: MigrationMetadata[]; + } + | { + pageType: + | 'generators-index' + | 'legacy-documents-index' + | 'executors-index' + | 'generators' + | 'executors'; + menu: MenuItem[]; + pkg: ProcessedPackageMetadata; + schema?: SchemaMetadata; + } + | { + pageType: 'legacy-documents'; + document: ProcessedDocument; + menu: MenuItem[]; + pkg: ProcessedPackageMetadata; + relatedDocuments: RelatedDocument[]; + widgetData: { githubStarsCount: number }; + }; + +export default function NxDocumentation(props: NxDocumentationProps) { const { toggleNav, navIsOpen } = useNavToggle(); const menuWithSections = { - sections: [getBasicNxSection(menu)], + sections: [getBasicNxSection(props.menu)], }; return ( @@ -44,11 +90,39 @@ export default function NxDocumentation({ navIsOpen={navIsOpen} /> - + {props.pageType === 'document' ? ( + + ) : props.pageType === 'api-index' ? ( + + ) : props.pageType === 'migrations' ? ( + + ) : props.pageType === 'generators-index' ? ( + + ) : props.pageType === 'executors-index' ? ( + + ) : props.pageType === 'legacy-documents-index' ? ( + + ) : props.pageType === 'legacy-documents' ? ( + + ) : ( + + )} @@ -56,7 +130,7 @@ export default function NxDocumentation({ } export const getStaticPaths: GetStaticPaths = () => { - const reservedPaths = ['/ci', '/nx-api', '/changelog']; + const reservedPaths = ['/ci', '/changelog']; return { paths: nxDocumentationApi .getSlugsStaticDocumentPaths() @@ -66,23 +140,154 @@ export const getStaticPaths: GetStaticPaths = () => { fallback: 'blocking', }; }; + +// reverse key-value pair so we can map URL segments back to package names +const apiPagePathToPkg = Object.entries(pkgToGeneratedApiDocs).reduce( + (acc, [k, v]) => { + acc[v.pagePath] = k; + return acc; + }, + {} as Record +); + +function findPackage(path: string): string | null { + for (const [k, v] of Object.entries(apiPagePathToPkg)) { + if (`/${path}`.startsWith(k)) return v; + } + return null; +} + export const getStaticProps: GetStaticProps = async ({ params, }: { params: { segments: string[] }; -}) => { +}): Promise => { + const menu = menusApi.getMenu('nx', ''); + const fullPath = params.segments.join('/'); + const packageName = findPackage(fullPath); + /* + * This function handles a few cases: + * 1. API docs - generators + * 2. API docs - executors + * 3. API docs - migrations + * 4. API docs - legacy documents (we should be moving these to recipes/guides) + * 5. Markdown docs - non-generated documents in `docs/` folder + */ try { + if (packageName) { + const segments = params.segments; + const prefix = pkgToGeneratedApiDocs[packageName].pagePath.replace( + /^\//, + '' + ); + const remainingPath = fullPath.replace(new RegExp(`^${prefix}/`), ''); + + const [type, ...rest] = remainingPath.split('/'); + if (remainingPath === fullPath) { + // API index + // Example: /technologies/typescript/api + const pkg = nxNewPackagesApi.getPackage([packageName]); + return { + props: { + pageType: 'api-index', + pkg, + menu, + migrations: Object.keys(pkg.migrations).map((migration) => { + return nxNewPackagesApi.getSchemaMetadata( + nxNewPackagesApi.getPackageFileMetadatas( + pkg.name, + 'migrations' + )[migration] + ) as MigrationMetadata; + }), + }, + }; + } else if (type === 'generators' || type === 'executors') { + // API generators and executors + // Examples: + // - /technologies/typescript/api/generators + // - /technologies/typescript/api/generators/library + const isList = rest.length === 0; + const props: NxDocumentationProps = { + // e.g. generators vs generators-list + pageType: isList ? `${type}-index` : type, + pkg: nxNewPackagesApi.getPackage([packageName]), + menu, + }; + if (!isList) { + props.schema = nxNewPackagesApi.getSchemaMetadata( + nxNewPackagesApi.getPackageFileMetadatas(packageName, type)[ + '/' + segments.join('/') + ] + ); + } + return { props }; + } else if (type === 'migrations') { + // API migrations + // Example: /technologies/typescript/api/migrations + return { + props: { + pageType: type, + menu: menusApi.getMenu('nx', ''), + pkg: nxNewPackagesApi.getPackage([packageName]), + migrations: Object.keys( + nxNewPackagesApi.getPackage([packageName]).migrations + ).map((migration) => { + return nxNewPackagesApi.getSchemaMetadata( + nxNewPackagesApi.getPackageFileMetadatas( + nxNewPackagesApi.getPackage([packageName]).name, + 'migrations' + )[migration] + ) as MigrationMetadata; + }), + }, + }; + } else if (type === 'documents') { + const isList = rest.length === 0; + if (isList) { + return { + props: { + pageType: 'legacy-documents-index', + pkg: nxNewPackagesApi.getPackage([packageName]), + menu, + }, + }; + } else { + const documents = new DocumentsApi({ + id: [packageName, 'documents'].join('-'), + manifest: nxNewPackagesApi.getPackageDocuments(packageName), + prefix: '', + publicDocsRoot: 'public/documentation', + tagsApi, + }); + const document = documents.getDocument(segments); + return { + props: { + pageType: 'legacy-documents', + pkg: nxNewPackagesApi.getPackage([packageName]), + document, + widgetData: { + githubStarsCount: await fetchGithubStarCount(), + }, + relatedDocuments: tagsApi + .getAssociatedItemsFromTags(document.tags) + .filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item + menu, + }, + }; + } + } + } + // Fallback to regular documentation const document = nxDocumentationApi.getDocument(params.segments); return { props: { + pageType: 'document', document, widgetData: { githubStarsCount: await fetchGithubStarCount(), }, - relatedDocuments: tagsApi - .getAssociatedItemsFromTags(document.tags) - .filter((item) => item.path !== '/' + params.segments.join('/')), // Remove currently displayed item - menu: menusApi.getMenu('nx', ''), + menu, }, }; } catch (e) { diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/documents/[...segments].tsx b/nx-dev/nx-dev/pages/nx-api/[name]/documents/[...segments].tsx index c1331148e1..f9d4b6ecb5 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/documents/[...segments].tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/documents/[...segments].tsx @@ -1,9 +1,8 @@ import { DocumentsApi } from '@nx/nx-dev/data-access-documents/node-only'; -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; import { DocViewer } from '@nx/nx-dev/feature-doc-viewer'; import { ProcessedDocument, RelatedDocument } from '@nx/nx-dev/models-document'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common'; import { GetStaticPaths } from 'next'; @@ -34,12 +33,7 @@ export default function PackageDocument({ relatedDocuments: RelatedDocument[]; } = { document, - menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), - }, + menu: { sections: [getBasicNxSection(menu)] }, relatedDocuments, }; @@ -110,7 +104,7 @@ export async function getStaticProps({ relatedDocuments: tagsApi .getAssociatedItemsFromTags(document.tags) .filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item - menu: menusApi.getMenu('nx-api', ''), + menu: menusApi.getMenu('nx', ''), }, }; } catch (e) { diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/documents/index.tsx b/nx-dev/nx-dev/pages/nx-api/[name]/documents/index.tsx index 154191dc38..98096adcd2 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/documents/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/documents/index.tsx @@ -1,6 +1,5 @@ -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common'; import { GetStaticPaths } from 'next'; @@ -20,12 +19,7 @@ export default function DocumentsIndex({ const { toggleNav, navIsOpen } = useNavToggle(); const vm: { menu: Menu; package: ProcessedPackageMetadata } = { - menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), - }, + menu: { sections: [getBasicNxSection(menu)] }, package: pkg, }; @@ -82,7 +76,7 @@ export async function getStaticProps({ const pkg = nxPackagesApi.getPackage([params.name]); return { props: { - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), pkg, }, }; diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/executors/[...segments].tsx b/nx-dev/nx-dev/pages/nx-api/[name]/executors/[...segments].tsx index 5d5a069a55..24d182db15 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/executors/[...segments].tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/executors/[...segments].tsx @@ -1,7 +1,6 @@ import { PackageSchemaViewer } from '@nx/nx-dev/feature-package-schema-viewer'; -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata, SchemaMetadata, @@ -29,12 +28,7 @@ export default function PackageExecutor({ package: ProcessedPackageMetadata; schema: SchemaMetadata; } = { - menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), - }, + menu: { sections: [getBasicNxSection(menu)] }, package: pkg, schema: schema, }; @@ -97,7 +91,7 @@ function getData( '/' + ['nx-api', packageName, 'executors', ...segments].join('/') ] ), - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), }; } diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/executors/index.tsx b/nx-dev/nx-dev/pages/nx-api/[name]/executors/index.tsx index 87958d167f..00b106dca2 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/executors/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/executors/index.tsx @@ -1,6 +1,5 @@ -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common'; import { GetStaticPaths } from 'next'; @@ -21,10 +20,7 @@ export default function ExecutorsIndex({ const vm: { menu: Menu; package: ProcessedPackageMetadata } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, package: pkg, }; @@ -82,7 +78,7 @@ export async function getStaticProps({ const pkg = nxPackagesApi.getPackage([params.name]); return { props: { - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), pkg, }, }; diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/generators/[...segments].tsx b/nx-dev/nx-dev/pages/nx-api/[name]/generators/[...segments].tsx index 34f0964998..00c255fb6b 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/generators/[...segments].tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/generators/[...segments].tsx @@ -1,7 +1,6 @@ import { PackageSchemaViewer } from '@nx/nx-dev/feature-package-schema-viewer'; -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata, SchemaMetadata, @@ -29,10 +28,7 @@ export default function PackageGenerator({ schema: SchemaMetadata; } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, package: pkg, schema: schema, @@ -96,7 +92,7 @@ function getData( '/' + ['nx-api', packageName, 'generators', ...segments].join('/') ] ), - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), }; } diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/generators/index.tsx b/nx-dev/nx-dev/pages/nx-api/[name]/generators/index.tsx index bcfb036bfc..f5d36e13cd 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/generators/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/generators/index.tsx @@ -1,6 +1,5 @@ -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { ProcessedPackageMetadata } from '@nx/nx-dev/models-package'; import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common'; import { GetStaticPaths } from 'next'; @@ -21,10 +20,7 @@ export default function GeneratorsIndex({ const vm: { menu: Menu; package: ProcessedPackageMetadata } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, package: pkg, }; @@ -82,7 +78,7 @@ export async function getStaticProps({ const pkg = nxPackagesApi.getPackage([params.name]); return { props: { - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), pkg, }, }; diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/index.tsx b/nx-dev/nx-dev/pages/nx-api/[name]/index.tsx index c216f3d163..d7fd25bc4f 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/index.tsx @@ -1,8 +1,7 @@ import { PackageSchemaList } from '@nx/nx-dev/feature-package-schema-viewer'; import { DocumentsApi } from '@nx/nx-dev/data-access-documents/node-only'; -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { MigrationMetadata, ProcessedPackageMetadata, @@ -30,10 +29,7 @@ export default function Package({ const vm: { menu: Menu; package: ProcessedPackageMetadata } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, package: pkg, }; @@ -110,7 +106,7 @@ function getData(packageName: string): { } return { - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), overview: overview, pkg, migrations: Object.keys(pkg.migrations).map((migration) => { diff --git a/nx-dev/nx-dev/pages/nx-api/[name]/migrations/index.tsx b/nx-dev/nx-dev/pages/nx-api/[name]/migrations/index.tsx index 5f4f61605a..fa9b3064e6 100644 --- a/nx-dev/nx-dev/pages/nx-api/[name]/migrations/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/[name]/migrations/index.tsx @@ -1,6 +1,5 @@ -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; -import { sortCorePackagesFirst } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { MigrationMetadata, ProcessedPackageMetadata, @@ -26,10 +25,7 @@ export default function GeneratorsIndex({ const vm: { menu: Menu; package: ProcessedPackageMetadata } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, package: pkg, }; @@ -92,7 +88,7 @@ export async function getStaticProps({ const pkg = nxPackagesApi.getPackage([params.name]); return { props: { - menu: menusApi.getMenu('nx-api', 'nx-api'), + menu: menusApi.getMenu('nx', ''), pkg, migrations: Object.keys(pkg.migrations).map((migration) => { return nxPackagesApi.getSchemaMetadata( diff --git a/nx-dev/nx-dev/pages/nx-api/index.tsx b/nx-dev/nx-dev/pages/nx-api/index.tsx index 116344d534..1203033b92 100644 --- a/nx-dev/nx-dev/pages/nx-api/index.tsx +++ b/nx-dev/nx-dev/pages/nx-api/index.tsx @@ -1,10 +1,10 @@ import { Heading1 } from '@nx/nx-dev/feature-package-schema-viewer'; -import { getPackagesSections } from '@nx/nx-dev/data-access-menu'; +import { getBasicNxSection } from '@nx/nx-dev/data-access-menu'; import { filterMigrationPackages, sortCorePackagesFirst, } from '@nx/nx-dev/data-access-packages'; -import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { Menu, MenuItem } from '@nx/nx-dev/models-menu'; import { IntrinsicPackageMetadata } from '@nx/nx-dev/models-package'; import { Breadcrumbs, @@ -34,10 +34,7 @@ export default function Packages({ const vm: { menu: Menu; packages: IntrinsicPackageMetadata[] } = { menu: { - sections: sortCorePackagesFirst( - getPackagesSections(menu), - 'id' - ), + sections: [getBasicNxSection(menu)], }, packages: useMemo(() => { return sortCorePackagesFirst( @@ -150,7 +147,7 @@ export async function getStaticProps(): Promise<{ return { props: { packages: nxPackagesApi.getRootPackageIndex(), - menu: menusApi.getMenu('nx-api', ''), + menu: menusApi.getMenu('nx', ''), }, }; } diff --git a/nx-dev/nx-dev/pages/plugin-registry.tsx b/nx-dev/nx-dev/pages/plugin-registry.tsx index e3cf3524c2..a023852dbd 100644 --- a/nx-dev/nx-dev/pages/plugin-registry.tsx +++ b/nx-dev/nx-dev/pages/plugin-registry.tsx @@ -12,7 +12,7 @@ import { NextSeo } from 'next-seo'; import { useRouter } from 'next/router'; import { menusApi } from '../lib/menus.api'; import { useNavToggle } from '../lib/navigation-toggle.effect'; -import { nxPackagesApi } from '../lib/packages.api'; +import { nxNewPackagesApi } from '../lib/new-packages.api'; import { ScrollableContent } from '@nx/ui-scrollable-content'; declare const fetch: any; @@ -35,7 +35,9 @@ export async function getStaticProps(): Promise<{ props: BrowseProps }> { ); const pluginList = await res.json(); - const officialPluginList = (nxPackagesApi.getRootPackageIndex() ?? []).filter( + const officialPluginList = ( + nxNewPackagesApi.getRootPackageIndex() ?? [] + ).filter( (m) => m.name !== 'add-nx-to-monorepo' && m.name !== 'cra-to-nx' && diff --git a/nx-dev/nx-dev/public/images/icons/buildtools.svg b/nx-dev/nx-dev/public/images/icons/buildtools.svg new file mode 100644 index 0000000000..7b8ffec184 --- /dev/null +++ b/nx-dev/nx-dev/public/images/icons/buildtools.svg @@ -0,0 +1,3 @@ + + + diff --git a/nx-dev/nx-dev/public/images/icons/java.svg b/nx-dev/nx-dev/public/images/icons/java.svg new file mode 100644 index 0000000000..607a04cc24 --- /dev/null +++ b/nx-dev/nx-dev/public/images/icons/java.svg @@ -0,0 +1,9 @@ + + Java + + diff --git a/nx-dev/nx-dev/public/images/icons/testtools.svg b/nx-dev/nx-dev/public/images/icons/testtools.svg new file mode 100644 index 0000000000..f24c0198e3 --- /dev/null +++ b/nx-dev/nx-dev/public/images/icons/testtools.svg @@ -0,0 +1,3 @@ + + + diff --git a/nx-dev/nx-dev/public/images/icons/typescript.svg b/nx-dev/nx-dev/public/images/icons/typescript.svg new file mode 100644 index 0000000000..28843b6c2e --- /dev/null +++ b/nx-dev/nx-dev/public/images/icons/typescript.svg @@ -0,0 +1,4 @@ + + TypeScript + + diff --git a/nx-dev/nx-dev/redirect-rules.js b/nx-dev/nx-dev/redirect-rules.js index 3edb460a04..91f727cd84 100644 --- a/nx-dev/nx-dev/redirect-rules.js +++ b/nx-dev/nx-dev/redirect-rules.js @@ -1232,6 +1232,56 @@ const tmpTerminalUiRedirects = { '/terminal-ui': '/recipes/running-tasks/terminal-ui', }; +const nxApiRedirects = { + // Reference + // NOTE: leaving devkit out for now since there is some handling for Devkit APIs that aren't working yet in the new structure. + '/nx-api/devkit/:slug*': '/reference/core-api/devkit/:slug*', + '/nx-api/nx/:slug*': '/reference/core-api/nx/:slug*', + '/nx-api/workspace/:slug*': '/reference/core-api/workspace/:slug*', + '/nx-api/plugin/:slug*': '/reference/core-api/plugin/:slug*', + '/nx-api/web/:slug*': '/reference/core-api/web/:slug*', + '/nx-api/azure-cache/:slug*': '/reference/core-api/azure-cache/:slug*', + '/nx-api/conformance/:slug*': '/reference/core-api/conformance/:slug*', + '/nx-api/owners/:slug*': '/reference/core-api/owners/:slug*', + '/nx-api/gcs-cache/:slug*': '/reference/core-api/gcs-cache/:slug*', + '/nx-api/s3-cache/:slug*': '/reference/core-api/s3-cache/:slug*', + '/nx-api/shared-fs-cache/:slug*': + '/reference/core-api/shared-fs-cache/:slug*', + '/nx-api/create-nx-plugin/:slug*': + '/reference/core-api/create-nx-plugin/:slug*', + '/nx-api/create-nx-workspace/:slug*': + '/reference/core-api/create-nx-workspace/:slug*', + // Technologies + '/nx-api/angular/:slug*': '/technologies/angular/api/:slug*', + '/nx-api/react/:slug*': '/technologies/react/api/:slug*', + '/nx-api/react-native/:slug*': '/technologies/react-native/api/:slug*', + '/nx-api/vue/:slug*': '/technologies/vue/api/:slug*', + '/nx-api/next/:slug*': '/technologies/next/api/:slug*', + '/nx-api/remix/:slug*': '/technologies/remix/api/:slug*', + '/nx-api/nuxt/:slug*': '/technologies/nuxt/api/:slug*', + '/nx-api/expo/:slug*': '/technologies/expo/api/:slug*', + '/nx-api/nest/:slug*': '/technologies/nest/api/:slug*', + '/nx-api/express/:slug*': '/technologies/express/api/:slug*', + '/nx-api/node/:slug*': '/technologies/node/api/:slug*', + '/nx-api/webpack/:slug*': '/technologies/webpack/api/:slug*', + '/nx-api/vite/:slug*': '/technologies/vite/api/:slug*', + '/nx-api/rollup/:slug*': '/technologies/rollup/api/:slug*', + '/nx-api/esbuild/:slug*': '/technologies/esbuild/api/:slug*', + '/nx-api/rspack/:slug*': '/technologies/rspack/api/:slug*', + '/nx-api/rsbuild/:slug*': '/technologies/rsbuild/api/:slug*', + '/nx-api/cypress/:slug*': '/technologies/cypress/api/:slug*', + '/nx-api/jest/:slug*': '/technologies/jest/api/:slug*', + '/nx-api/playwright/:slug*': '/technologies/playwright/api/:slug*', + '/nx-api/storybook/:slug*': '/technologies/storybook/api/:slug*', + '/nx-api/detox/:slug*': '/technologies/detox/api/:slug*', + '/nx-api/js/:slug*': '/technologies/typescript/api/:slug*', + '/nx-api/gradle/:slug*': '/technologies/java/api/:slug*', + '/nx-api/eslint/:slug*': '/technologies/eslint/api/:slug*', + '/nx-api/eslint-plugin/:slug*': '/technologies/eslint-plugin/api/:slug*', + '/nx-api/module-federation/:slug*': + '/technologies/module-federation/api/:slug*', +}; + /** * Public export API */ @@ -1269,4 +1319,5 @@ module.exports = { manualDTEUpdate, powerpackRedirects, tmpTerminalUiRedirects, + nxApiRedirects, }; diff --git a/nx-dev/ui-common/src/lib/breadcrumbs.tsx b/nx-dev/ui-common/src/lib/breadcrumbs.tsx index b15f905abc..48231e28b0 100644 --- a/nx-dev/ui-common/src/lib/breadcrumbs.tsx +++ b/nx-dev/ui-common/src/lib/breadcrumbs.tsx @@ -13,6 +13,7 @@ const sectionNames: Record = { ci: 'CI', 'extending-nx': 'Extending Nx', 'nx-api': 'Nx API', + api: 'API', }; const capitalize = (s: string) => s.charAt(0).toUpperCase() + s.slice(1); diff --git a/nx-dev/ui-common/src/lib/headers/documentation-header.tsx b/nx-dev/ui-common/src/lib/headers/documentation-header.tsx index 251fba4570..1fbab8f835 100644 --- a/nx-dev/ui-common/src/lib/headers/documentation-header.tsx +++ b/nx-dev/ui-common/src/lib/headers/documentation-header.tsx @@ -61,18 +61,12 @@ export function DocumentationHeader({ const router = useRouter(); let routerPath = router.asPath; const isCI: boolean = routerPath.startsWith('/ci'); - const isAPI: boolean = routerPath.startsWith('/nx-api'); const isExtendingNx: boolean = routerPath.startsWith('/extending-nx'); const isPlugins: boolean = routerPath.startsWith('/plugin-registry'); const isChangelog: boolean = routerPath.startsWith('/changelog'); const isAiChat: boolean = router.asPath.startsWith('/ai-chat'); const isNx: boolean = - !isCI && - !isAPI && - !isExtendingNx && - !isPlugins && - !isChangelog && - !isAiChat; + !isCI && !isExtendingNx && !isPlugins && !isChangelog && !isAiChat; const handleContextMenu = (e: MouseEvent) => { e.preventDefault(); @@ -96,11 +90,6 @@ export function DocumentationHeader({ href: '/plugin-registry', current: isPlugins, }, - { - name: 'API', - href: '/nx-api', - current: isAPI, - }, { name: 'Changelog', href: '/changelog', diff --git a/nx-dev/ui-common/src/lib/sidebar.tsx b/nx-dev/ui-common/src/lib/sidebar.tsx index d8a78cffcc..f7fb4dcca9 100644 --- a/nx-dev/ui-common/src/lib/sidebar.tsx +++ b/nx-dev/ui-common/src/lib/sidebar.tsx @@ -8,15 +8,24 @@ import { import { XMarkIcon } from '@heroicons/react/24/outline'; import { AlgoliaSearch } from '@nx/nx-dev/feature-search'; import { Menu, MenuItem, MenuSection } from '@nx/nx-dev/models-menu'; +import { iconsMap } from '@nx/nx-dev/ui-references'; import cx from 'classnames'; import Link from 'next/link'; import { useRouter } from 'next/router'; -import { createRef, Fragment, useCallback, useEffect, useState } from 'react'; +import { + createRef, + Fragment, + type JSX, + useCallback, + useRef, + useState, +} from 'react'; import { NxIcon } from '@nx/nx-dev/ui-icons'; export interface SidebarProps { menu: Menu; } + export interface FloatingSidebarProps { menu: Menu; navIsOpen: boolean; @@ -31,37 +40,29 @@ export function Sidebar({ menu }: SidebarProps): JSX.Element { data-testid="navigation" className="pb-4 text-base lg:text-sm" > - {menu.sections.map((section, index) => ( - - ))} + {menu.sections.map((section, index) => { + return ( + + ); + })} ); } function SidebarSection({ section }: { section: MenuSection }): JSX.Element { - const router = useRouter(); + // Get all items with refs const itemList = section.itemList.map((i) => ({ ...i, ref: createRef(), })); - const currentItem = itemList.find((s) => router.asPath.includes(s.path)); - - useEffect(() => { - requestAnimationFrame(() => { - setTimeout(() => { - if (currentItem && currentItem.ref.current) - currentItem.ref.current.scrollIntoView({ behavior: 'smooth' }); - }, 0); - }); - }, [currentItem]); return ( <> {section.hideSectionHeader ? null : (

{section.name}

@@ -70,73 +71,134 @@ function SidebarSection({ section }: { section: MenuSection }): JSX.Element {
  • {itemList .filter((i) => !!i.children?.length) - .map((item, index) => ( -
    - -
    - ))} + .map((item, index) => { + // Check if this specific item is the Technologies item + return ( +
    + +
    + ); + })}
  • ); } -function SidebarSectionItems({ item }: { item: MenuItem }): JSX.Element { +function withoutAnchors(linkText: string): string { + return linkText?.includes('#') + ? linkText.substring(0, linkText.indexOf('#')) + : linkText; +} + +function SidebarSectionItems({ + item, + isNested, + icon, + firstLevel, +}: { + item: MenuItem; + isNested?: boolean; + icon?: string; + firstLevel?: boolean; +}): JSX.Element { const router = useRouter(); - const [collapsed, setCollapsed] = useState(!item.disableCollapsible); + const initialRender = useRef(true); + const isActiveLink = withoutAnchors(router.asPath).startsWith(item.path); + const [collapsed, setCollapsed] = useState( + !item.disableCollapsible && !isActiveLink + ); const handleCollapseToggle = useCallback(() => { if (!item.disableCollapsible) { setCollapsed(!collapsed); } }, [collapsed, setCollapsed, item]); - function withoutAnchors(linkText: string): string { - return linkText?.includes('#') - ? linkText.substring(0, linkText.indexOf('#')) - : linkText; - } + + // Update the children mapping to safely handle cases where item.children might be undefined + const children = item.children || []; return ( <>
    - {item.disableCollapsible ? ( - - {item.name} - - ) : ( - <> - {item.name} - + {icon && ( +
    + +
    )} +
    + {item.disableCollapsible ? ( + + {item.name} + + ) : ( + <> + {item.name} + + + )} +
    -
      - {(item.children as MenuItem[]).map((subItem, index) => { +
        + {children.map((subItem, index) => { const isActiveLink = withoutAnchors(router.asPath).startsWith( subItem.path ); - if (isActiveLink && collapsed) { + if (isActiveLink && collapsed && initialRender.current) { handleCollapseToggle(); } + initialRender.current = false; + return (
      • - {subItem.children.length ? ( - + {(subItem.children || []).length ? ( + ) : ( ); } + +const technologyIconMap: Record = { + // JavaScript/TypeScript + typescript: 'ts', + js: 'js', + + // Angular + angular: 'angular', + 'angular-rspack': 'angular-rspack', + 'angular-rsbuild': 'angular-rsbuild', + + // React + react: 'react', + 'react-native': 'react-native', + remix: 'remix', + next: 'next', + expo: 'expo', + + // Vue + vue: 'vue', + nuxt: 'nuxt', + + // Node + nodejs: 'node', + 'node.js': 'node', + node: 'node', + + // Java + java: 'java', + gradle: 'gradle', + + // Module Federation + 'module-federation': 'module-federation', + + // Linting + eslint: 'eslint', + 'eslint-technology': 'eslint', + + // Testing + 'test-tools': 'testtools', + cypress: 'cypress', + jest: 'jest', + playwright: 'playwright', + storybook: 'storybook', + detox: 'detox', + + 'build-tools': 'buildtools', + webpack: 'webpack', + vite: 'vite', + rollup: 'rollup', + esbuild: 'esbuild', + rspack: 'rspack', + rsbuild: 'rsbuild', +}; + +function getIconKeyForTechnology(idOrName: string): string { + const normalized = idOrName.toLowerCase(); + return technologyIconMap[normalized] || 'nx'; +} diff --git a/nx-dev/ui-references/src/lib/icons-map.ts b/nx-dev/ui-references/src/lib/icons-map.ts index 637eb55671..12fbe01c75 100644 --- a/nx-dev/ui-references/src/lib/icons-map.ts +++ b/nx-dev/ui-references/src/lib/icons-map.ts @@ -2,6 +2,7 @@ export const iconsMap: Record = { angular: '/images/icons/angular.svg', 'angular-rsbuild': '/images/icons/rsbuild.svg', 'angular-rspack': '/images/icons/rspack.svg', + buildtools: '/images/icons/buildtools.svg', cli: '/images/icons/nx.svg', cypress: '/images/icons/cypress.svg', detox: '/images/icons/react.svg', @@ -14,6 +15,7 @@ export const iconsMap: Record = { jest: '/images/icons/jest.svg', js: '/images/icons/javascript.svg', eslint: '/images/icons/eslint.svg', + java: '/images/icons/java.svg', linter: '/images/icons/eslint.svg', 'module-federation': '/images/icons/module-federation.svg', nest: '/images/icons/nestjs.svg', @@ -37,6 +39,8 @@ export const iconsMap: Record = { rsbuild: '/images/icons/rsbuild.svg', rspack: '/images/icons/rspack.svg', storybook: '/images/icons/storybook.svg', + testtools: '/images/icons/testtools.svg', + ts: '/images/icons/typescript.svg', vite: '/images/icons/vite.svg', vue: '/images/icons/vuedotjs.svg', web: '/images/icons/html5.svg', diff --git a/scripts/documentation/generators/generate-devkit-documentation.ts b/scripts/documentation/generators/generate-devkit-documentation.ts index 6c8c730f82..d8a3aceed1 100644 --- a/scripts/documentation/generators/generate-devkit-documentation.ts +++ b/scripts/documentation/generators/generate-devkit-documentation.ts @@ -54,7 +54,7 @@ export async function generateDevkitDocumentation() { tsconfig: 'build/packages/devkit/tsconfig.lib.json', out: 'docs/generated/devkit', excludePrivate: true, - publicPath: '../../devkit/', + publicPath: '/reference/core-api/devkit/', }); await runTypedoc({ @@ -62,7 +62,7 @@ export async function generateDevkitDocumentation() { entryPoints: ['build/packages/devkit/ngcli-adapter.d.ts'], tsconfig: 'build/packages/devkit/tsconfig.lib.json', out: 'docs/generated/devkit/ngcli_adapter', - publicPath: '../../devkit/ngcli_adapter/', + publicPath: '/reference/core-api/devkit/ngcli_adapter/', }); rmSync('build/packages/devkit/tsconfig.lib.json', { diff --git a/scripts/documentation/generators/generate-manifests.ts b/scripts/documentation/generators/generate-manifests.ts index f11afc32e9..0e868738ca 100644 --- a/scripts/documentation/generators/generate-manifests.ts +++ b/scripts/documentation/generators/generate-manifests.ts @@ -5,6 +5,7 @@ import { convertToDocumentMetadata, createDocumentMetadata, DocumentMetadata, + pkgToGeneratedApiDocs, } from '@nx/nx-dev/models-document'; import { MenuItem } from '@nx/nx-dev/models-menu'; import { @@ -83,11 +84,13 @@ export function generateManifests(workspace: string): Promise { * @type {{id: string, records: Record}} */ const packagesManifest = createPackagesManifest(packages); + const newPackagesManifest = createNewPackagesManifest(packages); /** * Add the packages manifest to the manifest collection for simplicity. */ manifests.push(packagesManifest); + manifests.push(newPackagesManifest); /** * We can easily infer all Documents menus but need a custom way to handle them @@ -103,6 +106,14 @@ export function generateManifests(workspace: string): Promise { ) ); + /* + * Map API docs to /technologies section in the nx menu. + */ + menus.forEach((menu) => { + if (menu.id !== 'nx') return; + insertApiDocs(menu.menu, newPackagesManifest); + }); + /** * Creating packages menu with custom package logic. * @type {{id: string, menu: MenuItem[]}} @@ -110,12 +121,13 @@ export function generateManifests(workspace: string): Promise { const packagesMenu: { id: string; menu: MenuItem[]; - } = createPackagesMenu(packagesManifest); + } = createPackagesMenu(newPackagesManifest); /** * Add the packages menu to the main menu collection for simplicity. */ menus.push(packagesMenu); + menus.push(createPackagesMenu(packagesManifest)); /** * We can easily get all associated existing tags from each manifest. @@ -153,7 +165,7 @@ export function generateManifests(workspace: string): Promise { fileGenerationPromises.push( generateIndexMarkdownFile( resolve(documentationPath, `shared`, `reference`, `sitemap.md`), - menus + menus.concat(createPackagesMenu(packagesManifest)) ) ); @@ -215,6 +227,7 @@ function generateTags(manifests: Manifest[]) { return tags; } +// TODO(docs): Once we move API docs and set up redirect rules, we no longer need this menu function createPackagesMenu(packages: PackageManifest): { id: string; menu: MenuItem[]; @@ -298,14 +311,119 @@ function getDocumentMenus(manifests: DocumentManifest[]): { id: string; menu: MenuItem[]; }[] { - return manifests.map((record) => ({ - id: record.id, - menu: Object.values(record.records) - .map((item: any) => convertToDocumentMetadata(item)) - .map((item: DocumentMetadata) => menuItemRecurseOperations(item)), - })); + return manifests.map((record) => { + // TODO(docs): This shouldn't be needed, we should look into why we need this filter when it wasn't needed before + const topLevelItems = Object.values(record.records).filter((item) => { + const pathSegments = item.path.split('/').filter(Boolean); + return ( + pathSegments.length === 1 || + (pathSegments.length === 2 && pathSegments[0] === record.id) + ); + }); + + return { + id: record.id, + menu: topLevelItems + .map((item: any) => convertToDocumentMetadata(item)) + .map((item: DocumentMetadata) => menuItemRecurseOperations(item)), + }; + }); } +function createNewPackagesManifest(packages: PackageMetadata[]): { + id: string; + records: Record; +} { + const packagesManifest: { + id: string; + records: Record; + } = { id: 'new-nx-api', records: {} }; + + packages.forEach((p) => { + const data = pkgToGeneratedApiDocs[p.name]; + if (!data) { + console.warn( + `No mapping data found for package ${p.name}. Check "nx-dev/models-document/src/lib/mappings.ts".` + ); + return; + } + + const parentSegments = data.pagePath.split('/').filter(Boolean); + let parentDoc: DocumentMetadata = createDocumentMetadata({ + id: parentSegments[0], + path: `${parentSegments[0]}/`, + }); + for (const ps of parentSegments.slice(1)) { + parentDoc = documentRecurseOperations( + createDocumentMetadata({ + id: ps, + path: `${ps}/`, + }), + parentDoc + ); + } + packagesManifest.records[p.name] = { + githubRoot: p.githubRoot, + name: p.name, + packageName: p.packageName, + description: p.description, + documents: data.includeDocuments + ? convertToDictionary( + p.documents.map((d) => + documentRecurseOperations( + { + ...d, + path: d.path.replace(new RegExp(`^${p.name}/`, 'i'), ''), + }, + parentDoc + ) + ), + 'path' + ) + : {}, + root: p.root, + source: p.source, + executors: convertToDictionary( + p.executors.map((e) => ({ + ...e, + path: generatePath( + // package name is now in the prefix + { id: e.name, path: e.path.split('/').slice(1).join('/') }, + data.pagePath + ), + })), + 'path' + ), + generators: convertToDictionary( + p.generators.map((g) => ({ + ...g, + path: generatePath( + // package name is now in the prefix + { id: g.name, path: g.path.split('/').slice(1).join('/') }, + data.pagePath + ), + })), + 'path' + ), + migrations: convertToDictionary( + p.migrations.map((g) => ({ + ...g, + path: generatePath( + // package name is now in the prefix + { id: g.name, path: g.path.split('/').slice(1).join('/') }, + data.pagePath + ), + })), + 'path' + ), + path: generatePath({ id: p.name, path: '' }, `technologies/${p.name}`), + }; + }); + + return packagesManifest; +} + +// TODO(docs): remove this function one smarter files are all updated to not reference and nx-api function createPackagesManifest(packages: PackageMetadata[]): { id: string; records: Record; @@ -382,6 +500,109 @@ function getDocumentManifests(sections: DocumentSection[]): Manifest[] { }); } +function findMenuItemByPath(menus: MenuItem[], path: string): MenuItem | null { + const parts = path.split('/').filter(Boolean); + const id = parts.shift(); + + let curr: MenuItem | null = null; + + for (const menu of menus) { + if (menu.id !== id) continue; + curr = menu; + for (const part of parts) { + if (!curr?.children) break; + curr = curr.children.find((child) => child.id === part); + } + break; + } + + return curr; +} + +function insertApiDocs(menus: MenuItem[], packages: PackageManifest): void { + Object.values(packages.records).forEach((p) => { + const apiDocsData = pkgToGeneratedApiDocs[p.name]; + if (!apiDocsData) { + console.warn( + `No API path found for package ${p.name}. Skipping API docs insertion.` + ); + return; + } + + const apiItem = findMenuItemByPath(menus, apiDocsData.pagePath); + if (!apiItem) + throw new Error( + `Cannot find where to put ${apiDocsData.pagePath}. Does it exist in map.json?` + ); + + if (apiDocsData.includeDocuments && !!Object.values(p.documents).length) { + apiItem.children.push({ + id: 'documents', + path: `${apiDocsData.pagePath}/documents`, + name: 'documents', + children: Object.values(p.documents).map((x) => ({ + id: x.name, + path: `${apiDocsData.pagePath}/documents/${x.id}`, + name: x.name, + children: [], + isExternal: false, + disableCollapsible: false, + })), + isExternal: false, + disableCollapsible: false, + }); + } + + if (!!Object.values(p.executors).length) { + apiItem.children.push({ + id: 'executors', + path: `${apiDocsData.pagePath}/executors`, + name: 'executors', + children: Object.values(p.executors).map((x) => ({ + id: x.name, + path: `${apiDocsData.pagePath}/executors/${x.name}`, + name: x.name, + children: [], + isExternal: false, + disableCollapsible: false, + })), + isExternal: false, + disableCollapsible: false, + }); + } + + if (!!Object.values(p.generators).length) { + apiItem.children.push({ + id: 'generators', + path: `${apiDocsData.pagePath}/generators`, + name: 'generators', + children: Object.values(p.generators).map((x) => ({ + id: x.name, + path: `${apiDocsData.pagePath}/generators/${x.name}`, + name: x.name, + children: [], + isExternal: false, + disableCollapsible: false, + })), + isExternal: false, + disableCollapsible: false, + }); + } + + if (!!Object.values(p.migrations).length) { + apiItem.children.push({ + id: 'migrations', + path: `${apiDocsData.pagePath}/migrations`, + name: 'migrations', + children: [], + isExternal: false, + disableCollapsible: false, + }); + } + return apiItem; + }); +} + function createDocumentSections( documents: Partial[] ): DocumentSection[] { diff --git a/scripts/documentation/internal-link-checker.ts b/scripts/documentation/internal-link-checker.ts index b185ee56c9..8bf1376b0d 100644 --- a/scripts/documentation/internal-link-checker.ts +++ b/scripts/documentation/internal-link-checker.ts @@ -175,7 +175,9 @@ for (let file in documentLinks) { for (let link of documentLinks[file]) { if ( link.includes('/nx-api/angular-rspack') || - link.includes('/nx-api/angular-rsbuild') + link.includes('/nx-api/angular-rsbuild') || + // These legacy devkit links are handled by the Next.js app and will not actually be at the expected location in docs/generated. Just ignore them. + link.includes('/reference/core-api/devkit') ) { continue; }