docs(nx-dev): make recipes to nx section

This commit is contained in:
Miroslav Jonas 2023-07-24 11:09:34 +02:00 committed by Juri Strumpflohner
parent 42a06b67d2
commit 09b70521e7
14 changed files with 4640 additions and 1663 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -79,6 +79,13 @@
"name": "Customizing Inputs",
"path": "/concepts/more-concepts/customizing-inputs"
},
{
"description": "",
"file": "shared/recipes/troubleshoot-cache-misses",
"id": "troubleshoot-cache-misses",
"name": "Troubleshoot Cache Misses",
"path": "/recipes/troubleshooting/troubleshoot-cache-misses"
},
{
"description": "",
"file": "",
@ -114,13 +121,6 @@
"name": "Project Configuration reference: inputs and namedInputs",
"path": "/reference/project-configuration#inputs-&-namedinputs"
},
{
"description": "",
"file": "shared/recipes/troubleshoot-cache-misses",
"id": "troubleshoot-cache-misses",
"name": "Troubleshoot Cache Misses",
"path": "/recipes/troubleshooting/troubleshoot-cache-misses"
},
{
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/generated/packages/nx/documents/connect-to-nx-cloud",
@ -211,13 +211,6 @@
"name": "Illustrated Distributed Task Execution",
"path": "/concepts/more-concepts/illustrated-dte"
},
{
"description": "",
"file": "",
"id": "nx-cloud-documentation",
"name": "Nx Cloud Documentation",
"path": "/nx-cloud/intro/what-is-nx-cloud"
},
{
"description": "",
"file": "shared/ci-overview",
@ -225,6 +218,13 @@
"name": "CI Setup",
"path": "/recipes/ci/ci-setup"
},
{
"description": "",
"file": "",
"id": "nx-cloud-documentation",
"name": "Nx Cloud Documentation",
"path": "/nx-cloud/intro/what-is-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/generated/packages/nx/documents/connect-to-nx-cloud",
@ -350,20 +350,6 @@
"name": "Grouping Libraries",
"path": "/concepts/more-concepts/grouping-libraries"
},
{
"description": "",
"file": "shared/reference/nxignore",
"id": "nxignore",
"name": ".nxignore",
"path": "/reference/nxignore"
},
{
"description": "",
"file": "",
"id": "nxjson-workspaceLayout",
"name": "nx.json workspaceLayout property",
"path": "/reference/nx-json#workspace-layout"
},
{
"description": "",
"file": "shared/recipes/ban-dependencies-with-tags",
@ -392,6 +378,20 @@
"name": "Tags Allow List",
"path": "/recipes/enforce-module-boundaries/tags-allow-list"
},
{
"description": "",
"file": "shared/reference/nxignore",
"id": "nxignore",
"name": ".nxignore",
"path": "/reference/nxignore"
},
{
"description": "",
"file": "",
"id": "nxjson-workspaceLayout",
"name": "nx.json workspaceLayout property",
"path": "/reference/nx-json#workspace-layout"
},
{
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/generated/packages/nx/documents/format-check",
@ -436,13 +436,6 @@
"name": "Incremental Builds",
"path": "/concepts/more-concepts/incremental-builds"
},
{
"description": "",
"file": "shared/reference/project-configuration",
"id": "project-configuration",
"name": "Project Configuration",
"path": "/reference/project-configuration"
},
{
"description": "",
"file": "shared/recipes/module-federation-with-ssr",
@ -478,6 +471,13 @@
"name": "Running Custom Commands",
"path": "/recipes/tips-n-tricks/run-commands-executor"
},
{
"description": "",
"file": "shared/reference/project-configuration",
"id": "project-configuration",
"name": "Project Configuration",
"path": "/reference/project-configuration"
},
{
"description": "",
"file": "shared/recipes/plugins/local-executors",
@ -649,13 +649,6 @@
}
],
"environment-variables": [
{
"description": "",
"file": "shared/reference/environment-variables",
"id": "environment-variables",
"name": "Environment Variables",
"path": "/reference/environment-variables"
},
{
"description": "",
"file": "shared/guides/use-environment-variables-in-angular",
@ -683,6 +676,13 @@
"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"
}
],
"module-federation": [

View File

@ -506,355 +506,10 @@
{
"name": "Recipes",
"id": "recipes",
"description": "Learn quickly how to do things with Nx.",
"itemList": [
{
"name": "CI Setup",
"id": "ci-setup",
"path": "/recipes/ci/ci-setup"
},
{
"name": "Adopting Nx",
"id": "adopting-nx",
"path": "/recipes/adopting-nx"
},
{
"name": "All Recipes »",
"id": "all",
"path": "/recipes"
}
]
},
{
"name": "Reference",
"id": "reference",
"description": "Understand how to use Nx functionalities, what arguments and options are available for each component.",
"itemList": [
{
"name": "Commands",
"id": "commands",
"file": "shared/reference/commands"
},
{
"name": "nx.json",
"id": "nx-json",
"file": "shared/reference/nx-json"
},
{
"name": "Project Configuration",
"id": "project-configuration",
"tags": ["use-task-executors"],
"file": "shared/reference/project-configuration"
},
{
"name": ".nxignore",
"id": "nxignore",
"tags": ["enforce-project-boundaries"],
"file": "shared/reference/nxignore"
},
{
"name": "Environment Variables",
"id": "environment-variables",
"tags": ["environment-variables"],
"file": "shared/reference/environment-variables"
},
{
"name": "Glossary",
"id": "glossary",
"tags": [],
"file": "shared/reference/glossary"
}
]
},
{
"name": "Deprecated",
"id": "deprecated",
"description": "Functionality that has been superseded in the current version of Nx. Listed here for those running older versions.",
"itemList": [
{
"name": "workspace.json",
"id": "workspace-json",
"file": "shared/deprecated/workspace-json"
},
{
"name": "workspace-lint",
"id": "workspace-lint",
"file": "shared/deprecated/workspace-lint"
},
{
"name": "Workspace Generators",
"id": "workspace-generators",
"file": "shared/deprecated/workspace-generators"
},
{
"name": "Workspace Executors",
"id": "workspace-executors",
"file": "shared/deprecated/workspace-executors"
},
{
"name": "defaultCollection",
"id": "default-collection",
"file": "shared/deprecated/default-collection"
},
{
"name": "runtimeCacheInputs",
"id": "runtime-cache-inputs",
"file": "shared/deprecated/runtime-cache-inputs"
},
{
"name": "globalImplicitDependencies",
"id": "global-implicit-dependencies",
"file": "shared/deprecated/global-implicit-dependencies"
},
{
"name": "Storybook deprecated docs",
"id": "storybook",
"description": "Deprecated @nx/storybook package documentation and guides.",
"itemList": [
{
"id": "angular-storybook-targets",
"name": "Angular: Information about the Storybook targets",
"description": "This document explains the role of the storybook and build-storybook targets in Angular projects with a Storybook configuration, and specifically which executors are used for them.",
"file": "shared/deprecated/storybook/angular-storybook-targets"
},
{
"id": "angular-browser-target",
"name": "Angular: The browserTarget",
"description": "This document explains the role of the browserTarget in Angular projects with a Storybook configuration, and how the Storybook executors use it.",
"file": "shared/deprecated/storybook/angular-browser-target"
},
{
"id": "migrate-webpack-final-angular",
"name": "Angular: Storybook Migration to webpackFinal",
"description": "This guide explains how migrate from older versions of Storybook which used a custom webpack.config.js to the new Storybook 6.3+ which uses the webpackFinal property in the main configuration.",
"file": "shared/deprecated/storybook/migrate-webpack-final-angular"
},
{
"id": "upgrade-storybook-v6-angular",
"name": "Angular: Upgrading to Storybook 6",
"description": "This guide explains how you can upgrade your Storybook from versions 5.3 and below to Storybook 6, for Angular projects.",
"file": "shared/deprecated/storybook/storybook-v6-angular"
},
{
"id": "migrate-webpack-final-react",
"name": "React: Storybook Migration to webpackFinal and the Nx Addon",
"description": "This guide explains how migrate from older versions of Storybook which used a custom webpack.config.js to the new Storybook 6.3+ which uses the webpackFinal property in the main configuration and the Nx React Addon.",
"file": "shared/deprecated/storybook/migrate-webpack-final-react"
},
{
"id": "upgrade-storybook-v6-react",
"name": "React: Upgrading to Storybook 6",
"description": "This guide explains how you can upgrade your Storybook from versions 5.3 and below to Storybook 6, for React projects.",
"file": "shared/deprecated/storybook/storybook-v6-react"
}
]
}
]
},
{
"name": "See Also",
"id": "see-also",
"description": "Links to other pieces of documentation",
"itemList": [
{
"name": "Nx Cloud Documentation",
"id": "nx-cloud-documentation",
"file": "",
"tags": ["cache-task-results", "distribute-task-execution"],
"path": "/nx-cloud/intro/what-is-nx-cloud",
"isExternal": true
},
{
"name": "Nx Cloud Main Site",
"id": "nx-cloud-main-site",
"file": "",
"tags": ["cache-task-results", "distribute-task-execution"],
"path": "https://nx.app",
"isExternal": true
},
{
"name": "--skip-nx-cache flag",
"id": "skip-nx-cache-flag",
"file": "",
"tags": ["cache-task-results"],
"path": "/packages/nx/documents/affected#skip-nx-cache",
"isExternal": true
},
{
"name": "tasks-runner-options property",
"id": "tasks-runner-options-property",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/nx-json#tasks-runner-options",
"isExternal": true
},
{
"name": "nx.json reference: inputs and namedInputs",
"id": "nxjson-inputs",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/nx-json#inputs-&-namedinputs",
"isExternal": true
},
{
"name": "Project Configuration reference: inputs and namedInputs",
"id": "project-config-inputs",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/project-configuration#inputs-&-namedinputs",
"isExternal": true
},
{
"name": "nx.json workspaceLayout property",
"id": "nxjson-workspaceLayout",
"file": "",
"tags": ["enforce-project-boundaries"],
"path": "/reference/nx-json#workspace-layout",
"isExternal": true
},
{
"name": "nx.json generator defaults",
"id": "nxjson-generator-defaults",
"file": "",
"tags": ["use-code-generators"],
"path": "/reference/nx-json#generators",
"isExternal": true
},
{
"name": "Site Map",
"id": "sitemap",
"tags": [],
"file": "shared/reference/sitemap"
}
]
}
]
},
{
"name": "Extending Nx",
"id": "extending-nx",
"description": "Learn more about creating your own plugin, extending Nx.",
"itemList": [
{
"name": "Intro",
"id": "intro",
"description": "Learn about plugins.",
"itemList": [
{
"name": "Getting Started with Plugins",
"id": "getting-started",
"description": "Learn how to extend Nx by creating and releasing your own Nx plugin.",
"file": "shared/plugins/intro"
},
{
"name": "Plugin Registry",
"description": "Browse official and community plugins",
"id": "registry",
"file": "",
"path": "/extending-nx/registry",
"isExternal": false
}
]
},
{
"name": "5 Min Tutorials",
"id": "tutorials",
"description": "Get started with plugins",
"itemList": [
{
"name": "Create a Local Plugin",
"id": "create-plugin",
"file": "shared/plugins/create-plugin"
},
{
"name": "Maintain a Published Plugin",
"id": "publish-plugin",
"file": "shared/plugins/maintain-published-plugin"
}
]
},
{
"name": "Recipes",
"id": "recipes",
"description": "Focused instructions to complete a specific task",
"itemList": [
{
"name": "Write a Simple Executor",
"id": "local-executors",
"tags": ["use-task-executors"],
"file": "shared/recipes/plugins/local-executors"
},
{
"name": "Compose Executors",
"id": "compose-executors",
"tags": ["use-task-executors"],
"file": "shared/recipes/plugins/compose-executors"
},
{
"name": "Write a Simple Generator",
"id": "local-generators",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/local-generators"
},
{
"name": "Compose Generators",
"id": "composing-generators",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/composing-generators"
},
{
"name": "Provide Options for Generators",
"id": "generator-options",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/generator-options"
},
{
"name": "Create Files",
"id": "creating-files",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/creating-files"
},
{
"name": "Modify Files",
"id": "modifying-files",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/modifying-files"
},
{
"name": "Write a Migration",
"id": "migration-generators",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/migration-generators"
},
{
"name": "Create a Preset",
"id": "create-preset",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/create-preset"
},
{
"name": "Modify the Project Graph",
"id": "project-graph-plugins",
"tags": ["create-your-own-plugin", "explore-graph"],
"file": "shared/recipes/plugins/project-graph-plugins"
},
{
"name": "Identify Custom Projects",
"id": "project-inference-plugins",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/project-inference-plugins"
}
]
}
]
},
{
"name": "Recipes",
"id": "nx-recipes",
"description": "In depth recipes for common tasks",
"itemList": [
{
"name": "Migrating to Nx",
"name": "Adopting Nx",
"id": "adopting-nx",
"description": "Adopting Nx incrementally, on existing project or from scratch.",
"itemList": [
@ -930,13 +585,21 @@
{
"name": "Setup Module Federation with SSR for Angular",
"id": "module-federation-with-ssr",
"tags": ["use-task-executors", "module-federation", "angular"],
"tags": [
"use-task-executors",
"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": ["use-task-executors", "module-federation", "angular"],
"tags": [
"use-task-executors",
"module-federation",
"angular"
],
"file": "shared/guides/module-federation/dynamic-mfe-angular"
},
{
@ -1380,6 +1043,329 @@
}
]
},
{
"name": "Reference",
"id": "reference",
"description": "Understand how to use Nx functionalities, what arguments and options are available for each component.",
"itemList": [
{
"name": "Commands",
"id": "commands",
"file": "shared/reference/commands"
},
{
"name": "nx.json",
"id": "nx-json",
"file": "shared/reference/nx-json"
},
{
"name": "Project Configuration",
"id": "project-configuration",
"tags": ["use-task-executors"],
"file": "shared/reference/project-configuration"
},
{
"name": ".nxignore",
"id": "nxignore",
"tags": ["enforce-project-boundaries"],
"file": "shared/reference/nxignore"
},
{
"name": "Environment Variables",
"id": "environment-variables",
"tags": ["environment-variables"],
"file": "shared/reference/environment-variables"
},
{
"name": "Glossary",
"id": "glossary",
"tags": [],
"file": "shared/reference/glossary"
}
]
},
{
"name": "Deprecated",
"id": "deprecated",
"description": "Functionality that has been superseded in the current version of Nx. Listed here for those running older versions.",
"itemList": [
{
"name": "workspace.json",
"id": "workspace-json",
"file": "shared/deprecated/workspace-json"
},
{
"name": "workspace-lint",
"id": "workspace-lint",
"file": "shared/deprecated/workspace-lint"
},
{
"name": "Workspace Generators",
"id": "workspace-generators",
"file": "shared/deprecated/workspace-generators"
},
{
"name": "Workspace Executors",
"id": "workspace-executors",
"file": "shared/deprecated/workspace-executors"
},
{
"name": "defaultCollection",
"id": "default-collection",
"file": "shared/deprecated/default-collection"
},
{
"name": "runtimeCacheInputs",
"id": "runtime-cache-inputs",
"file": "shared/deprecated/runtime-cache-inputs"
},
{
"name": "globalImplicitDependencies",
"id": "global-implicit-dependencies",
"file": "shared/deprecated/global-implicit-dependencies"
},
{
"name": "Storybook deprecated docs",
"id": "storybook",
"description": "Deprecated @nx/storybook package documentation and guides.",
"itemList": [
{
"id": "angular-storybook-targets",
"name": "Angular: Information about the Storybook targets",
"description": "This document explains the role of the storybook and build-storybook targets in Angular projects with a Storybook configuration, and specifically which executors are used for them.",
"file": "shared/deprecated/storybook/angular-storybook-targets"
},
{
"id": "angular-browser-target",
"name": "Angular: The browserTarget",
"description": "This document explains the role of the browserTarget in Angular projects with a Storybook configuration, and how the Storybook executors use it.",
"file": "shared/deprecated/storybook/angular-browser-target"
},
{
"id": "migrate-webpack-final-angular",
"name": "Angular: Storybook Migration to webpackFinal",
"description": "This guide explains how migrate from older versions of Storybook which used a custom webpack.config.js to the new Storybook 6.3+ which uses the webpackFinal property in the main configuration.",
"file": "shared/deprecated/storybook/migrate-webpack-final-angular"
},
{
"id": "upgrade-storybook-v6-angular",
"name": "Angular: Upgrading to Storybook 6",
"description": "This guide explains how you can upgrade your Storybook from versions 5.3 and below to Storybook 6, for Angular projects.",
"file": "shared/deprecated/storybook/storybook-v6-angular"
},
{
"id": "migrate-webpack-final-react",
"name": "React: Storybook Migration to webpackFinal and the Nx Addon",
"description": "This guide explains how migrate from older versions of Storybook which used a custom webpack.config.js to the new Storybook 6.3+ which uses the webpackFinal property in the main configuration and the Nx React Addon.",
"file": "shared/deprecated/storybook/migrate-webpack-final-react"
},
{
"id": "upgrade-storybook-v6-react",
"name": "React: Upgrading to Storybook 6",
"description": "This guide explains how you can upgrade your Storybook from versions 5.3 and below to Storybook 6, for React projects.",
"file": "shared/deprecated/storybook/storybook-v6-react"
}
]
}
]
},
{
"name": "See Also",
"id": "see-also",
"description": "Links to other pieces of documentation",
"itemList": [
{
"name": "Nx Cloud Documentation",
"id": "nx-cloud-documentation",
"file": "",
"tags": ["cache-task-results", "distribute-task-execution"],
"path": "/nx-cloud/intro/what-is-nx-cloud",
"isExternal": true
},
{
"name": "Nx Cloud Main Site",
"id": "nx-cloud-main-site",
"file": "",
"tags": ["cache-task-results", "distribute-task-execution"],
"path": "https://nx.app",
"isExternal": true
},
{
"name": "--skip-nx-cache flag",
"id": "skip-nx-cache-flag",
"file": "",
"tags": ["cache-task-results"],
"path": "/packages/nx/documents/affected#skip-nx-cache",
"isExternal": true
},
{
"name": "tasks-runner-options property",
"id": "tasks-runner-options-property",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/nx-json#tasks-runner-options",
"isExternal": true
},
{
"name": "nx.json reference: inputs and namedInputs",
"id": "nxjson-inputs",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/nx-json#inputs-&-namedinputs",
"isExternal": true
},
{
"name": "Project Configuration reference: inputs and namedInputs",
"id": "project-config-inputs",
"file": "",
"tags": ["cache-task-results"],
"path": "/reference/project-configuration#inputs-&-namedinputs",
"isExternal": true
},
{
"name": "nx.json workspaceLayout property",
"id": "nxjson-workspaceLayout",
"file": "",
"tags": ["enforce-project-boundaries"],
"path": "/reference/nx-json#workspace-layout",
"isExternal": true
},
{
"name": "nx.json generator defaults",
"id": "nxjson-generator-defaults",
"file": "",
"tags": ["use-code-generators"],
"path": "/reference/nx-json#generators",
"isExternal": true
},
{
"name": "Site Map",
"id": "sitemap",
"tags": [],
"file": "shared/reference/sitemap"
}
]
}
]
},
{
"name": "Extending Nx",
"id": "extending-nx",
"description": "Learn more about creating your own plugin, extending Nx.",
"itemList": [
{
"name": "Intro",
"id": "intro",
"description": "Learn about plugins.",
"itemList": [
{
"name": "Getting Started with Plugins",
"id": "getting-started",
"description": "Learn how to extend Nx by creating and releasing your own Nx plugin.",
"file": "shared/plugins/intro"
},
{
"name": "Plugin Registry",
"description": "Browse official and community plugins",
"id": "registry",
"file": "",
"path": "/extending-nx/registry",
"isExternal": false
}
]
},
{
"name": "5 Min Tutorials",
"id": "tutorials",
"description": "Get started with plugins",
"itemList": [
{
"name": "Create a Local Plugin",
"id": "create-plugin",
"file": "shared/plugins/create-plugin"
},
{
"name": "Maintain a Published Plugin",
"id": "publish-plugin",
"file": "shared/plugins/maintain-published-plugin"
}
]
},
{
"name": "Recipes",
"id": "recipes",
"description": "Focused instructions to complete a specific task",
"itemList": [
{
"name": "Write a Simple Executor",
"id": "local-executors",
"tags": ["use-task-executors"],
"file": "shared/recipes/plugins/local-executors"
},
{
"name": "Compose Executors",
"id": "compose-executors",
"tags": ["use-task-executors"],
"file": "shared/recipes/plugins/compose-executors"
},
{
"name": "Write a Simple Generator",
"id": "local-generators",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/local-generators"
},
{
"name": "Compose Generators",
"id": "composing-generators",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/composing-generators"
},
{
"name": "Provide Options for Generators",
"id": "generator-options",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/generator-options"
},
{
"name": "Create Files",
"id": "creating-files",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/creating-files"
},
{
"name": "Modify Files",
"id": "modifying-files",
"tags": ["use-code-generators"],
"file": "shared/recipes/generators/modifying-files"
},
{
"name": "Write a Migration",
"id": "migration-generators",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/migration-generators"
},
{
"name": "Create a Preset",
"id": "create-preset",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/create-preset"
},
{
"name": "Modify the Project Graph",
"id": "project-graph-plugins",
"tags": ["create-your-own-plugin", "explore-graph"],
"file": "shared/recipes/plugins/project-graph-plugins"
},
{
"name": "Identify Custom Projects",
"id": "project-inference-plugins",
"tags": ["create-your-own-plugin"],
"file": "shared/recipes/plugins/project-inference-plugins"
}
]
}
]
},
{
"name": "Nx Cloud",
"id": "nx-cloud-documentation",

View File

@ -77,11 +77,11 @@ After the changes are applied, your workspace file structure should look similar
### Older Versions of Angular
Support for workspaces with multiple applications and libraries was added in Nx v14.1.0. If you are migrating using an older version of Nx, your workspace can only contain one application and no libraries in order to use the automated migration, otherwise, you can still [migrate manually](/recipes/angular/migration/manual).
Support for workspaces with multiple applications and libraries was added in Nx v14.1.0. If you are migrating using an older version of Nx, your workspace can only contain one application and no libraries in order to use the automated migration, otherwise, you can still [migrate manually](/recipes/angular/migration/angular-manual).
### Modified Folder Structure
The automated migration supports Angular CLI workspaces with a standard structure, configurations and features. If your workspace has deviated from what the Angular CLI generates, you might not be able to use the automated migration and you will need to [manually migrate your workspace](/recipes/angular/migration/manual).
The automated migration supports Angular CLI workspaces with a standard structure, configurations and features. If your workspace has deviated from what the Angular CLI generates, you might not be able to use the automated migration and you will need to [manually migrate your workspace](/recipes/angular/migration/angular-manual).
Currently, the automated migration supports workspaces using the following executors (builders):
@ -152,8 +152,8 @@ If you're not ready to make the change yet, you can come back to this later:
{% card title="Nx and the Angular CLI" description="Differences between Nx and the Angular CLI" type="documentation" url="/concepts/more-concepts/nx-and-angular" /%}
{% card title="Angular CLI manual migration" description="Add Nx by hand" type="documentation" url="/recipes/angular/migration/manual" /%}
{% card title="Angular CLI manual migration" description="Add Nx by hand" type="documentation" url="/recipes/angular/migration/angular-manual" /%}
{% 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/multiple" /%}
{% 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" /%}
{% /cards %}

View File

@ -89,37 +89,8 @@
- [How the Project Graph is Built](/concepts/more-concepts/how-project-graph-is-built)
- [Nx and the Nx Wrapper](/concepts/more-concepts/nx-and-the-wrapper)
- [Managing your Global Nx Installation](/concepts/more-concepts/global-nx)
- [All Recipes »](/recipes)
- [CI Setup](/recipes/ci/ci-setup)
- [Recipes](/recipes)
- [Adopting Nx](/recipes/adopting-nx)
- [Reference](/reference)
- [Commands](/reference/commands)
- [nx.json](/reference/nx-json)
- [Project Configuration](/reference/project-configuration)
- [.nxignore](/reference/nxignore)
- [Environment Variables](/reference/environment-variables)
- [Glossary](/reference/glossary)
- [Deprecated](/deprecated)
- [workspace.json](/deprecated/workspace-json)
- [workspace-lint](/deprecated/workspace-lint)
- [Workspace Generators](/deprecated/workspace-generators)
- [Workspace Executors](/deprecated/workspace-executors)
- [defaultCollection](/deprecated/default-collection)
- [runtimeCacheInputs](/deprecated/runtime-cache-inputs)
- [globalImplicitDependencies](/deprecated/global-implicit-dependencies)
- [Storybook deprecated docs](/deprecated/storybook)
- [Angular: Information about the Storybook targets](/deprecated/storybook/angular-storybook-targets)
- [Angular: The browserTarget](/deprecated/storybook/angular-browser-target)
- [Angular: Storybook Migration to webpackFinal](/deprecated/storybook/migrate-webpack-final-angular)
- [Angular: Upgrading to Storybook 6](/deprecated/storybook/upgrade-storybook-v6-angular)
- [React: Storybook Migration to webpackFinal and the Nx Addon](/deprecated/storybook/migrate-webpack-final-react)
- [React: Upgrading to Storybook 6](/deprecated/storybook/upgrade-storybook-v6-react)
- [See Also](/see-also)
- [Site Map](/see-also/sitemap)
- Recipes
- [Migrating to Nx](/recipes/adopting-nx)
- [NPM/Yarn/PNPM workspaces](/recipes/adopting-nx/adding-to-monorepo)
- [Add to any Project](/recipes/adopting-nx/adding-to-existing-project)
- [Nx and Lerna](/recipes/adopting-nx/lerna-and-nx)
@ -210,6 +181,30 @@
- [Large Repo and Caching](/recipes/example-repos/caching)
- [Large Repo and DTE](/recipes/example-repos/dte)
- [Nx Micro-Frontend Example](/recipes/example-repos/mfe)
- [Reference](/reference)
- [Commands](/reference/commands)
- [nx.json](/reference/nx-json)
- [Project Configuration](/reference/project-configuration)
- [.nxignore](/reference/nxignore)
- [Environment Variables](/reference/environment-variables)
- [Glossary](/reference/glossary)
- [Deprecated](/deprecated)
- [workspace.json](/deprecated/workspace-json)
- [workspace-lint](/deprecated/workspace-lint)
- [Workspace Generators](/deprecated/workspace-generators)
- [Workspace Executors](/deprecated/workspace-executors)
- [defaultCollection](/deprecated/default-collection)
- [runtimeCacheInputs](/deprecated/runtime-cache-inputs)
- [globalImplicitDependencies](/deprecated/global-implicit-dependencies)
- [Storybook deprecated docs](/deprecated/storybook)
- [Angular: Information about the Storybook targets](/deprecated/storybook/angular-storybook-targets)
- [Angular: The browserTarget](/deprecated/storybook/angular-browser-target)
- [Angular: Storybook Migration to webpackFinal](/deprecated/storybook/migrate-webpack-final-angular)
- [Angular: Upgrading to Storybook 6](/deprecated/storybook/upgrade-storybook-v6-angular)
- [React: Storybook Migration to webpackFinal and the Nx Addon](/deprecated/storybook/migrate-webpack-final-react)
- [React: Upgrading to Storybook 6](/deprecated/storybook/upgrade-storybook-v6-react)
- [See Also](/see-also)
- [Site Map](/see-also/sitemap)
- Extending-nx

View File

@ -80,7 +80,7 @@ export default function NxDocumentation({
}
export const getStaticPaths: GetStaticPaths = () => {
const reservedPaths = ['/recipes', '/nx-cloud', '/packages', '/changelog'];
const reservedPaths = ['/nx-cloud', '/packages', '/changelog'];
return {
paths: nxDocumentationApi
.getSlugsStaticDocumentPaths()

View File

@ -1,113 +0,0 @@
import { getBasicRecipesSection } 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 } from '@nx/nx-dev/models-menu';
import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common';
import { GetStaticPaths, GetStaticProps } from 'next';
import { useRouter } from 'next/router';
import { useEffect, useRef } from 'react';
import { menusApi } from '../../lib/menus.api';
import { useNavToggle } from '../../lib/navigation-toggle.effect';
import { nxRecipesApi } from '../../lib/recipes.api';
import { tagsApi } from '../../lib/tags.api';
export default function Recipes({
document,
menu,
relatedDocuments,
}: {
document: ProcessedDocument;
menu: MenuItem[];
relatedDocuments: RelatedDocument[];
}): JSX.Element {
const router = useRouter();
const { toggleNav, navIsOpen } = useNavToggle();
const wrapperElement = useRef(null);
useEffect(() => {
const handleRouteChange = (url: string) => {
if (url.includes('#')) return;
if (!wrapperElement) return;
(wrapperElement as any).current.scrollTo({
top: 0,
left: 0,
behavior: 'smooth',
});
};
router.events.on('routeChangeComplete', handleRouteChange);
return () => router.events.off('routeChangeComplete', handleRouteChange);
}, [router, wrapperElement]);
const vm: {
document: ProcessedDocument;
menu: Menu;
relatedDocuments: RelatedDocument[];
} = {
document,
menu: {
sections: [getBasicRecipesSection(menu)],
},
relatedDocuments,
};
return (
<div id="shell" className="flex h-full flex-col">
<div className="w-full flex-shrink-0">
<DocumentationHeader isNavOpen={navIsOpen} toggleNav={toggleNav} />
</div>
<main
id="main"
role="main"
className="flex h-full flex-1 overflow-y-hidden"
>
<SidebarContainer menu={vm.menu} navIsOpen={navIsOpen} />
<div
ref={wrapperElement}
id="wrapper"
data-testid="wrapper"
className="relative flex flex-grow flex-col items-stretch justify-start overflow-y-scroll"
>
<DocViewer
document={vm.document}
relatedDocuments={vm.relatedDocuments}
/>
</div>
</main>
</div>
);
}
export const getStaticPaths: GetStaticPaths = () => {
return {
paths: nxRecipesApi.getSlugsStaticDocumentPaths(),
fallback: 'blocking',
};
};
export const getStaticProps: GetStaticProps = async ({
params,
}: {
params: { segments: string[] };
}) => {
try {
const segments = ['recipes', ...params.segments];
const document = nxRecipesApi.getDocument(segments);
return {
props: {
document,
relatedDocuments: tagsApi
.getAssociatedItemsFromTags(document.tags)
.filter((item) => item.path !== '/' + segments.join('/')), // Remove currently displayed item
menu: menusApi.getMenu('recipes', ''),
},
};
} catch (e) {
return {
notFound: true,
props: {
statusCode: 404,
},
};
}
};

View File

@ -1,96 +0,0 @@
import { getBasicRecipesSection } 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 } from '@nx/nx-dev/models-menu';
import { DocumentationHeader, SidebarContainer } from '@nx/nx-dev/ui-common';
import { GetStaticProps } from 'next';
import { useRouter } from 'next/router';
import { useEffect, useRef } from 'react';
import { menusApi } from '../../lib/menus.api';
import { useNavToggle } from '../../lib/navigation-toggle.effect';
import { nxRecipesApi } from '../../lib/recipes.api';
import { tagsApi } from '../../lib/tags.api';
export default function RecipesRoot({
document,
menu,
relatedDocuments,
}: {
document: ProcessedDocument;
menu: MenuItem[];
relatedDocuments: RelatedDocument[];
}) {
const router = useRouter();
const { toggleNav, navIsOpen } = useNavToggle();
const wrapperElement = useRef(null);
useEffect(() => {
const handleRouteChange = (url: string) => {
if (url.includes('#')) return;
if (!wrapperElement) return;
(wrapperElement as any).current.scrollTo({
top: 0,
left: 0,
behavior: 'smooth',
});
};
router.events.on('routeChangeComplete', handleRouteChange);
return () => router.events.off('routeChangeComplete', handleRouteChange);
}, [router, wrapperElement]);
const vm: {
document: ProcessedDocument;
menu: Menu;
relatedDocuments: RelatedDocument[];
} = {
document,
menu: {
sections: [getBasicRecipesSection(menu)],
},
relatedDocuments,
};
return (
<div id="shell" className="flex h-full flex-col">
<div className="w-full flex-shrink-0">
<DocumentationHeader isNavOpen={navIsOpen} toggleNav={toggleNav} />
</div>
<main
id="main"
role="main"
className="flex h-full flex-1 overflow-y-hidden"
>
<SidebarContainer menu={vm.menu} navIsOpen={navIsOpen} />
<div
ref={wrapperElement}
id="wrapper"
data-testid="wrapper"
className="relative flex flex-grow flex-col items-stretch justify-start overflow-y-scroll"
>
<DocViewer
document={document}
relatedDocuments={vm.relatedDocuments}
/>
</div>
</main>
</div>
);
}
export const getStaticProps: GetStaticProps = async () => {
const document = nxRecipesApi.generateRootDocumentIndex({
name: 'Recipes',
description: 'Learn quickly how to do things with Nx.',
});
return {
props: {
document,
menu: menusApi.getMenu('recipes', ''),
relatedDocuments: document.tags
.map((t) => tagsApi.getAssociatedItems(t))
.flat(),
},
};
};

View File

@ -738,9 +738,9 @@ const latestRecipesRefactoring = {
'/recipes/adopting-nx-angular/angular-integrated':
'/recipes/angular/migration/angular',
'/recipes/adopting-nx-angular/angular-manual':
'/recipes/angular/migration/manual',
'/recipes/angular/migration/angular-manual',
'/recipes/adopting-nx-angular/angular-multiple':
'/recipes/angular/migration/multiple',
'/recipes/angular/migration/angular-multiple',
'/recipes/adopting-nx/migration-angularjs':
'/recipes/angular/migration/angularjs',
'/recipes/environment-variables/use-environment-variables-in-angular':

View File

@ -41,10 +41,8 @@ export function DocumentationHeader({
const isNxCloud: boolean = router.asPath.startsWith('/nx-cloud');
const isPackages: boolean = router.asPath.startsWith('/packages');
const isPlugins: boolean = router.asPath.startsWith('/extending-nx');
const isRecipes: boolean = router.asPath.startsWith('/recipes');
const isChangelog: boolean = router.asPath.startsWith('/changelog');
const isNx: boolean =
!isNxCloud && !isPackages && !isPlugins && !isRecipes && !isChangelog;
const isNx: boolean = !isNxCloud && !isPackages && !isPlugins && !isChangelog;
const sections = [
{ name: 'Nx', href: '/getting-started/intro', current: isNx },
@ -63,11 +61,6 @@ export function DocumentationHeader({
href: '/packages',
current: isPackages,
},
{
name: 'Recipes',
href: '/recipes',
current: isRecipes,
},
{
name: 'Changelog',
href: '/changelog',

View File

@ -180,8 +180,7 @@ export function SidebarMobile({
const isNxCloud: boolean = router.asPath.startsWith('/nx-cloud');
const isPackages: boolean = router.asPath.startsWith('/packages');
const isPlugins: boolean = router.asPath.startsWith('/extending-nx');
const isRecipes: boolean = router.asPath.startsWith('/recipes');
const isNx: boolean = !isNxCloud && !isPackages && !isPlugins && !isRecipes;
const isNx: boolean = !isNxCloud && !isPackages && !isPlugins;
const sections = [
{ name: 'Home', href: '/', current: false },
@ -201,11 +200,6 @@ export function SidebarMobile({
href: '/extending-nx/intro/getting-started',
current: isPlugins,
},
{
name: 'Recipes',
href: '/recipes',
current: isRecipes,
},
];
return (
<Transition.Root show={navIsOpen} as={Fragment}>

View File

@ -361,12 +361,6 @@ function createDocumentSections(
.itemList as Partial<DocumentMetadata>[],
prefix: '',
},
{
name: 'recipes',
content: documents.find((x) => x.id === 'nx-recipes')!
.itemList as Partial<DocumentMetadata>[],
prefix: 'recipes',
},
{
name: 'extending-nx',
content: documents.find((x) => x.id === 'extending-nx')!

View File

@ -8,136 +8,61 @@
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipLibCheck": true,
"types": [
"node",
"jest"
],
"lib": [
"es2019"
],
"types": ["node", "jest"],
"lib": ["es2019"],
"declaration": true,
"resolveJsonModule": true,
"baseUrl": ".",
"rootDir": ".",
"allowJs": true,
"paths": {
"@nrwl/tao": [
"packages/tao"
],
"@nrwl/tao/*": [
"packages/tao/*"
],
"@nx/angular": [
"packages/angular"
],
"@nx/angular/*": [
"packages/angular/*"
],
"@nx/cypress": [
"packages/cypress"
],
"@nx/cypress/*": [
"packages/cypress/*"
],
"@nx/detox": [
"packages/detox"
],
"@nx/devkit": [
"packages/devkit"
],
"@nx/devkit/*": [
"packages/devkit/*"
],
"@nx/docs": [
"docs"
],
"@nx/docs/*": [
"docs/*"
],
"@nx/e2e/utils": [
"e2e/utils"
],
"@nx/esbuild": [
"packages/esbuild"
],
"@nx/eslint-plugin": [
"packages/eslint-plugin/src"
],
"@nx/expo": [
"packages/expo"
],
"@nx/expo/*": [
"packages/expo/*"
],
"@nx/express": [
"packages/express"
],
"@nx/graph/ui-components": [
"graph/ui-components/src/index.ts"
],
"@nx/graph/ui-graph": [
"graph/ui-graph/src/index.ts"
],
"@nx/graph/ui-tooltips": [
"graph/ui-tooltips/src/index.ts"
],
"@nx/jest": [
"packages/jest"
],
"@nx/jest/*": [
"packages/jest/*"
],
"@nx/js": [
"packages/js/src"
],
"@nx/js/*": [
"packages/js/*"
],
"@nx/linter": [
"packages/linter"
],
"@nx/linter/*": [
"packages/linter/*"
],
"@nx/nest": [
"packages/nest"
],
"@nx/next": [
"packages/next"
],
"@nx/next/*": [
"packages/next/*"
],
"@nx/node": [
"packages/node"
],
"@nx/node/*": [
"packages/node/*"
],
"@nx/nx-dev/data-access-ai": [
"nx-dev/data-access-ai/src/index.ts"
],
"@nrwl/tao": ["packages/tao"],
"@nrwl/tao/*": ["packages/tao/*"],
"@nx/angular": ["packages/angular"],
"@nx/angular/*": ["packages/angular/*"],
"@nx/cypress": ["packages/cypress"],
"@nx/cypress/*": ["packages/cypress/*"],
"@nx/detox": ["packages/detox"],
"@nx/devkit": ["packages/devkit"],
"@nx/devkit/*": ["packages/devkit/*"],
"@nx/docs": ["docs"],
"@nx/docs/*": ["docs/*"],
"@nx/e2e/utils": ["e2e/utils"],
"@nx/esbuild": ["packages/esbuild"],
"@nx/eslint-plugin": ["packages/eslint-plugin/src"],
"@nx/expo": ["packages/expo"],
"@nx/expo/*": ["packages/expo/*"],
"@nx/express": ["packages/express"],
"@nx/graph/ui-components": ["graph/ui-components/src/index.ts"],
"@nx/graph/ui-graph": ["graph/ui-graph/src/index.ts"],
"@nx/graph/ui-tooltips": ["graph/ui-tooltips/src/index.ts"],
"@nx/jest": ["packages/jest"],
"@nx/jest/*": ["packages/jest/*"],
"@nx/js": ["packages/js/src"],
"@nx/js/*": ["packages/js/*"],
"@nx/linter": ["packages/linter"],
"@nx/linter/*": ["packages/linter/*"],
"@nx/nest": ["packages/nest"],
"@nx/next": ["packages/next"],
"@nx/next/*": ["packages/next/*"],
"@nx/node": ["packages/node"],
"@nx/node/*": ["packages/node/*"],
"@nx/nx-dev/data-access-ai": ["nx-dev/data-access-ai/src/index.ts"],
"@nx/nx-dev/data-access-documents": [
"nx-dev/data-access-documents/src/index.ts"
],
"@nx/nx-dev/data-access-documents/node-only": [
"nx-dev/data-access-documents/src/node.index.ts"
],
"@nx/nx-dev/data-access-menu": [
"nx-dev/data-access-menu/src/index.ts"
],
"@nx/nx-dev/data-access-menu": ["nx-dev/data-access-menu/src/index.ts"],
"@nx/nx-dev/data-access-packages": [
"nx-dev/data-access-packages/src/index.ts"
],
"@nx/nx-dev/data-access-packages/node-only": [
"nx-dev/data-access-packages/src/node.index.ts"
],
"@nx/nx-dev/feature-ai": [
"nx-dev/feature-ai/src/index.ts"
],
"@nx/nx-dev/feature-analytics": [
"nx-dev/feature-analytics/src/index.ts"
],
"@nx/nx-dev/feature-ai": ["nx-dev/feature-ai/src/index.ts"],
"@nx/nx-dev/feature-analytics": ["nx-dev/feature-analytics/src/index.ts"],
"@nx/nx-dev/feature-doc-viewer": [
"nx-dev/feature-doc-viewer/src/index.ts"
],
@ -147,126 +72,46 @@
"@nx/nx-dev/feature-package-schema-viewer/*": [
"nx-dev/feature-package-schema-viewer/*"
],
"@nx/nx-dev/feature-search": [
"nx-dev/feature-search/src/index.ts"
],
"@nx/nx-dev/models-document": [
"nx-dev/models-document/src/index.ts"
],
"@nx/nx-dev/models-menu": [
"nx-dev/models-menu/src/index.ts"
],
"@nx/nx-dev/models-package": [
"nx-dev/models-package/src/index.ts"
],
"@nx/nx-dev/ui-commands": [
"nx-dev/ui-commands/src/index.ts"
],
"@nx/nx-dev/ui-common": [
"nx-dev/ui-common/src/index.ts"
],
"@nx/nx-dev/ui-community": [
"nx-dev/ui-community/src/index.ts"
],
"@nx/nx-dev/ui-conference": [
"nx-dev/ui-conference/src/index.ts"
],
"@nx/nx-dev/ui-home": [
"nx-dev/ui-home/src/index.ts"
],
"@nx/nx-dev/ui-markdoc": [
"nx-dev/ui-markdoc/src/index.ts"
],
"@nx/nx-dev/ui-member-card": [
"nx-dev/ui-member-card/src/index.ts"
],
"@nx/nx-dev/ui-primitives": [
"nx-dev/ui-primitives/src/index.ts"
],
"@nx/nx-dev/ui-references": [
"nx-dev/ui-references/src/index.ts"
],
"@nx/nx-dev/ui-sponsor-card": [
"nx-dev/ui-sponsor-card/src/index.ts"
],
"@nx/nx-dev/ui-theme": [
"nx-dev/ui-theme/src/index.ts"
],
"@nx/playwright": [
"packages/playwright/index.ts"
],
"@nx/plugin": [
"packages/plugin"
],
"@nx/plugin/*": [
"packages/plugin/*"
],
"@nx/react": [
"packages/react"
],
"@nx/react-native": [
"packages/react-native"
],
"@nx/react-native/*": [
"packages/react-native/*"
],
"@nx/react/*": [
"packages/react/*"
],
"@nx/rollup": [
"packages/rollup"
],
"@nx/rollup/*": [
"packages/rollup/*"
],
"@nx/storybook": [
"packages/storybook"
],
"@nx/storybook/*": [
"packages/storybook/*"
],
"@nx/typedoc-theme": [
"typedoc-theme/src/index.ts"
],
"@nx/vite": [
"packages/vite"
],
"@nx/vite/*": [
"packages/vite/*"
],
"@nx/web": [
"packages/web"
],
"@nx/web/*": [
"packages/web/*"
],
"@nx/webpack": [
"packages/webpack"
],
"@nx/webpack/*": [
"packages/webpack/*"
],
"@nx/workspace": [
"packages/workspace"
],
"@nx/workspace/*": [
"packages/workspace/*"
],
"@nx/workspace/testing": [
"packages/workspace/testing"
],
"create-nx-workspace": [
"packages/create-nx-workspace/index.ts"
],
"create-nx-workspace/*": [
"packages/create-nx-workspace/*"
],
"nx": [
"packages/nx"
],
"nx/*": [
"packages/nx/*"
]
"@nx/nx-dev/feature-search": ["nx-dev/feature-search/src/index.ts"],
"@nx/nx-dev/models-document": ["nx-dev/models-document/src/index.ts"],
"@nx/nx-dev/models-menu": ["nx-dev/models-menu/src/index.ts"],
"@nx/nx-dev/models-package": ["nx-dev/models-package/src/index.ts"],
"@nx/nx-dev/ui-commands": ["nx-dev/ui-commands/src/index.ts"],
"@nx/nx-dev/ui-common": ["nx-dev/ui-common/src/index.ts"],
"@nx/nx-dev/ui-community": ["nx-dev/ui-community/src/index.ts"],
"@nx/nx-dev/ui-conference": ["nx-dev/ui-conference/src/index.ts"],
"@nx/nx-dev/ui-home": ["nx-dev/ui-home/src/index.ts"],
"@nx/nx-dev/ui-markdoc": ["nx-dev/ui-markdoc/src/index.ts"],
"@nx/nx-dev/ui-member-card": ["nx-dev/ui-member-card/src/index.ts"],
"@nx/nx-dev/ui-primitives": ["nx-dev/ui-primitives/src/index.ts"],
"@nx/nx-dev/ui-references": ["nx-dev/ui-references/src/index.ts"],
"@nx/nx-dev/ui-sponsor-card": ["nx-dev/ui-sponsor-card/src/index.ts"],
"@nx/nx-dev/ui-theme": ["nx-dev/ui-theme/src/index.ts"],
"@nx/playwright": ["packages/playwright/index.ts"],
"@nx/plugin": ["packages/plugin"],
"@nx/plugin/*": ["packages/plugin/*"],
"@nx/react": ["packages/react"],
"@nx/react-native": ["packages/react-native"],
"@nx/react-native/*": ["packages/react-native/*"],
"@nx/react/*": ["packages/react/*"],
"@nx/rollup": ["packages/rollup"],
"@nx/rollup/*": ["packages/rollup/*"],
"@nx/storybook": ["packages/storybook"],
"@nx/storybook/*": ["packages/storybook/*"],
"@nx/typedoc-theme": ["typedoc-theme/src/index.ts"],
"@nx/vite": ["packages/vite"],
"@nx/vite/*": ["packages/vite/*"],
"@nx/web": ["packages/web"],
"@nx/web/*": ["packages/web/*"],
"@nx/webpack": ["packages/webpack"],
"@nx/webpack/*": ["packages/webpack/*"],
"@nx/workspace": ["packages/workspace"],
"@nx/workspace/*": ["packages/workspace/*"],
"@nx/workspace/testing": ["packages/workspace/testing"],
"create-nx-workspace": ["packages/create-nx-workspace/index.ts"],
"create-nx-workspace/*": ["packages/create-nx-workspace/*"],
"nx": ["packages/nx"],
"nx/*": ["packages/nx/*"]
}
}
}