Jack Hsu 99b0557fb9
docs(core): add a recipe for convert-to-inferred migrations (#27442)
This PR adds a recipe for converting executor-based configuration to
inferred configuration.

The goal of the recipe is to guide users on what commands to run,
understand what changes were applied, and how to verify the migrations.

Preview:
https://nx-dev-git-docs-inferred-migration-recipe-nrwl.vercel.app/recipes/running-tasks/convert-to-inferred

[x] Link to this from Project Crystal concept page
[x] Mark recipe as related to Migration feature page

<!-- Please make sure you have read the submission guidelines before
posting an PR -->


<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #

---------

Co-authored-by: Isaac Mann <isaacplmann@gmail.com>
2024-08-15 10:24:18 -04:00

6795 lines
222 KiB
JSON

{
"/getting-started": {
"id": "getting-started",
"name": "Getting Started",
"description": "Get started with basic information, concepts and tutorials.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "intro",
"name": "Intro to Nx",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/intro",
"itemList": [],
"isExternal": false,
"path": "/getting-started/intro",
"tags": []
},
{
"id": "installation",
"name": "Installation",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/installation",
"itemList": [],
"isExternal": false,
"path": "/getting-started/installation",
"tags": []
},
{
"id": "why-nx",
"name": "Why Nx?",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/why-nx",
"itemList": [],
"isExternal": false,
"path": "/getting-started/why-nx",
"tags": []
},
{
"id": "editor-setup",
"name": "Editor Setup",
"description": "Learn about Nx Console, an extension for VS Code and WebStorm.",
"mediaImage": "",
"file": "shared/getting-started/editor-setup",
"itemList": [],
"isExternal": false,
"path": "/getting-started/editor-setup",
"tags": ["editor-setup"]
},
{
"id": "tutorials",
"name": "Tutorials",
"description": "Get started with basic information, concepts and tutorials.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "npm-workspaces-tutorial",
"name": "NPM Workspaces Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/npm-workspaces",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/npm-workspaces-tutorial",
"tags": []
},
{
"id": "react-standalone-tutorial",
"name": "React Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-standalone-tutorial",
"tags": []
},
{
"id": "react-monorepo-tutorial",
"name": "React Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-monorepo-tutorial",
"tags": []
},
{
"id": "angular-standalone-tutorial",
"name": "Angular Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-standalone-tutorial",
"tags": []
},
{
"id": "angular-monorepo-tutorial",
"name": "Angular Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
"tags": []
},
{
"id": "vue-standalone-tutorial",
"name": "Vue Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/vue-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/vue-standalone-tutorial",
"tags": []
},
{
"id": "gradle-tutorial",
"name": "Gradle Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/gradle",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/gradle-tutorial",
"tags": []
}
],
"isExternal": false,
"path": "/getting-started/tutorials",
"tags": []
}
],
"isExternal": false,
"path": "/getting-started",
"tags": []
},
"/getting-started/intro": {
"id": "intro",
"name": "Intro to Nx",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/intro",
"itemList": [],
"isExternal": false,
"path": "/getting-started/intro",
"tags": []
},
"/getting-started/installation": {
"id": "installation",
"name": "Installation",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/installation",
"itemList": [],
"isExternal": false,
"path": "/getting-started/installation",
"tags": []
},
"/getting-started/why-nx": {
"id": "why-nx",
"name": "Why Nx?",
"description": "",
"mediaImage": "",
"file": "shared/getting-started/why-nx",
"itemList": [],
"isExternal": false,
"path": "/getting-started/why-nx",
"tags": []
},
"/getting-started/editor-setup": {
"id": "editor-setup",
"name": "Editor Setup",
"description": "Learn about Nx Console, an extension for VS Code and WebStorm.",
"mediaImage": "",
"file": "shared/getting-started/editor-setup",
"itemList": [],
"isExternal": false,
"path": "/getting-started/editor-setup",
"tags": ["editor-setup"]
},
"/getting-started/tutorials": {
"id": "tutorials",
"name": "Tutorials",
"description": "Get started with basic information, concepts and tutorials.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "npm-workspaces-tutorial",
"name": "NPM Workspaces Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/npm-workspaces",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/npm-workspaces-tutorial",
"tags": []
},
{
"id": "react-standalone-tutorial",
"name": "React Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-standalone-tutorial",
"tags": []
},
{
"id": "react-monorepo-tutorial",
"name": "React Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-monorepo-tutorial",
"tags": []
},
{
"id": "angular-standalone-tutorial",
"name": "Angular Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-standalone-tutorial",
"tags": []
},
{
"id": "angular-monorepo-tutorial",
"name": "Angular Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
"tags": []
},
{
"id": "vue-standalone-tutorial",
"name": "Vue Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/vue-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/vue-standalone-tutorial",
"tags": []
},
{
"id": "gradle-tutorial",
"name": "Gradle Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/gradle",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/gradle-tutorial",
"tags": []
}
],
"isExternal": false,
"path": "/getting-started/tutorials",
"tags": []
},
"/getting-started/tutorials/npm-workspaces-tutorial": {
"id": "npm-workspaces-tutorial",
"name": "NPM Workspaces Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/npm-workspaces",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/npm-workspaces-tutorial",
"tags": []
},
"/getting-started/tutorials/react-standalone-tutorial": {
"id": "react-standalone-tutorial",
"name": "React Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-standalone-tutorial",
"tags": []
},
"/getting-started/tutorials/react-monorepo-tutorial": {
"id": "react-monorepo-tutorial",
"name": "React Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/react-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/react-monorepo-tutorial",
"tags": []
},
"/getting-started/tutorials/angular-standalone-tutorial": {
"id": "angular-standalone-tutorial",
"name": "Angular Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-standalone-tutorial",
"tags": []
},
"/getting-started/tutorials/angular-monorepo-tutorial": {
"id": "angular-monorepo-tutorial",
"name": "Angular Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/angular-monorepo",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/angular-monorepo-tutorial",
"tags": []
},
"/getting-started/tutorials/vue-standalone-tutorial": {
"id": "vue-standalone-tutorial",
"name": "Vue Standalone",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/vue-standalone",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/vue-standalone-tutorial",
"tags": []
},
"/getting-started/tutorials/gradle-tutorial": {
"id": "gradle-tutorial",
"name": "Gradle Monorepo",
"description": "",
"mediaImage": "",
"file": "shared/tutorials/gradle",
"itemList": [],
"isExternal": false,
"path": "/getting-started/tutorials/gradle-tutorial",
"tags": []
},
"/features": {
"id": "features",
"name": "Features",
"description": "Learn the core features of Nx with in depth guides.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "run-tasks",
"name": "Run Tasks",
"description": "Learn about the various ways you can use Nx to run tasks in your workspace.",
"mediaImage": "",
"file": "shared/features/run-tasks",
"itemList": [],
"isExternal": false,
"path": "/features/run-tasks",
"tags": ["run-tasks", "cache-task-results"]
},
{
"id": "cache-task-results",
"name": "Cache Task Results",
"description": "Learn how to define cacheable tasks, how to fine-tune with inputs and outputs, where the cache is stored and much more.",
"mediaImage": "",
"file": "shared/features/cache-task-results",
"itemList": [],
"isExternal": false,
"path": "/features/cache-task-results",
"tags": ["cache-task-results"]
},
{
"id": "explore-graph",
"name": "Explore Your Workspace",
"description": "",
"mediaImage": "",
"file": "shared/features/explore-graph",
"itemList": [],
"isExternal": false,
"path": "/features/explore-graph",
"tags": ["explore-graph"]
},
{
"id": "generate-code",
"name": "Generate Code",
"description": "",
"mediaImage": "",
"file": "shared/features/generate-code",
"itemList": [],
"isExternal": false,
"path": "/features/generate-code",
"tags": ["generate-code"]
},
{
"id": "automate-updating-dependencies",
"name": "Automate Updating Dependencies",
"description": "Learn how Nx provides automated update scripts to help you keep your workspace, tooling and framework dependencies up to date.",
"mediaImage": "",
"file": "shared/features/automate-updating-dependencies",
"itemList": [],
"isExternal": false,
"path": "/features/automate-updating-dependencies",
"tags": ["automate-updating-dependencies"]
},
{
"id": "enforce-module-boundaries",
"name": "Enforce Module Boundaries",
"description": "Learn how to avoid dependency hell and scale a codebase by imposing constraints on your projects using the module boundary lint rule.",
"mediaImage": "",
"file": "shared/features/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/features/enforce-module-boundaries",
"tags": ["enforce-module-boundaries"]
},
{
"id": "manage-releases",
"name": "Manage Releases",
"description": "Learn how Nx provides tools to help you manage releasing your projects.",
"mediaImage": "",
"file": "shared/features/manage-releases",
"itemList": [],
"isExternal": false,
"path": "/features/manage-releases",
"tags": ["nx-release"]
},
{
"id": "ci-features",
"name": "CI Features",
"description": "Features of Nx and Nx Cloud that improve CI",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/affected",
"tags": []
},
{
"id": "remote-cache",
"name": "Use Remote Caching (Nx Replay)",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/remote-cache",
"tags": []
},
{
"id": "distribute-task-execution",
"name": "Distribute Task Execution (Nx Agents)",
"description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/distribute-task-execution",
"tags": []
},
{
"id": "dynamic-agents",
"name": "Dynamically Allocate Agents",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/dynamic-agents",
"tags": []
},
{
"id": "split-e2e-tasks",
"name": "Automatically Split E2E Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/split-e2e-tasks",
"tags": []
},
{
"id": "flaky-tasks",
"name": "Identify and Re-run Flaky Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/flaky-tasks",
"tags": []
}
],
"isExternal": false,
"path": "/features/ci-features",
"tags": []
}
],
"isExternal": false,
"path": "/features",
"tags": []
},
"/features/run-tasks": {
"id": "run-tasks",
"name": "Run Tasks",
"description": "Learn about the various ways you can use Nx to run tasks in your workspace.",
"mediaImage": "",
"file": "shared/features/run-tasks",
"itemList": [],
"isExternal": false,
"path": "/features/run-tasks",
"tags": ["run-tasks", "cache-task-results"]
},
"/features/cache-task-results": {
"id": "cache-task-results",
"name": "Cache Task Results",
"description": "Learn how to define cacheable tasks, how to fine-tune with inputs and outputs, where the cache is stored and much more.",
"mediaImage": "",
"file": "shared/features/cache-task-results",
"itemList": [],
"isExternal": false,
"path": "/features/cache-task-results",
"tags": ["cache-task-results"]
},
"/features/explore-graph": {
"id": "explore-graph",
"name": "Explore Your Workspace",
"description": "",
"mediaImage": "",
"file": "shared/features/explore-graph",
"itemList": [],
"isExternal": false,
"path": "/features/explore-graph",
"tags": ["explore-graph"]
},
"/features/generate-code": {
"id": "generate-code",
"name": "Generate Code",
"description": "",
"mediaImage": "",
"file": "shared/features/generate-code",
"itemList": [],
"isExternal": false,
"path": "/features/generate-code",
"tags": ["generate-code"]
},
"/features/automate-updating-dependencies": {
"id": "automate-updating-dependencies",
"name": "Automate Updating Dependencies",
"description": "Learn how Nx provides automated update scripts to help you keep your workspace, tooling and framework dependencies up to date.",
"mediaImage": "",
"file": "shared/features/automate-updating-dependencies",
"itemList": [],
"isExternal": false,
"path": "/features/automate-updating-dependencies",
"tags": ["automate-updating-dependencies"]
},
"/features/enforce-module-boundaries": {
"id": "enforce-module-boundaries",
"name": "Enforce Module Boundaries",
"description": "Learn how to avoid dependency hell and scale a codebase by imposing constraints on your projects using the module boundary lint rule.",
"mediaImage": "",
"file": "shared/features/enforce-module-boundaries",
"itemList": [],
"isExternal": false,
"path": "/features/enforce-module-boundaries",
"tags": ["enforce-module-boundaries"]
},
"/features/manage-releases": {
"id": "manage-releases",
"name": "Manage Releases",
"description": "Learn how Nx provides tools to help you manage releasing your projects.",
"mediaImage": "",
"file": "shared/features/manage-releases",
"itemList": [],
"isExternal": false,
"path": "/features/manage-releases",
"tags": ["nx-release"]
},
"/features/ci-features": {
"id": "ci-features",
"name": "CI Features",
"description": "Features of Nx and Nx Cloud that improve CI",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/affected",
"tags": []
},
{
"id": "remote-cache",
"name": "Use Remote Caching (Nx Replay)",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/remote-cache",
"tags": []
},
{
"id": "distribute-task-execution",
"name": "Distribute Task Execution (Nx Agents)",
"description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/distribute-task-execution",
"tags": []
},
{
"id": "dynamic-agents",
"name": "Dynamically Allocate Agents",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/dynamic-agents",
"tags": []
},
{
"id": "split-e2e-tasks",
"name": "Automatically Split E2E Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/split-e2e-tasks",
"tags": []
},
{
"id": "flaky-tasks",
"name": "Identify and Re-run Flaky Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/flaky-tasks",
"tags": []
}
],
"isExternal": false,
"path": "/features/ci-features",
"tags": []
},
"/ci/features/affected": {
"id": "affected",
"name": "Run Only Tasks Affected by a PR",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/affected",
"tags": []
},
"/ci/features/remote-cache": {
"id": "remote-cache",
"name": "Use Remote Caching (Nx Replay)",
"description": "Learn how to enable remote caching s.t. you don't just benefit locally from it but also in CI.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/remote-cache",
"tags": []
},
"/ci/features/distribute-task-execution": {
"id": "distribute-task-execution",
"name": "Distribute Task Execution (Nx Agents)",
"description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/distribute-task-execution",
"tags": []
},
"/ci/features/dynamic-agents": {
"id": "dynamic-agents",
"name": "Dynamically Allocate Agents",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/dynamic-agents",
"tags": []
},
"/ci/features/split-e2e-tasks": {
"id": "split-e2e-tasks",
"name": "Automatically Split E2E Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/features/split-e2e-tasks",
"tags": []
},
"/ci/features/flaky-tasks": {
"id": "flaky-tasks",
"name": "Identify and Re-run Flaky Tasks",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"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": ["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": "integrated-vs-package-based",
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
"description": "",
"mediaImage": "",
"file": "shared/concepts/integrated-vs-package-based",
"itemList": [],
"isExternal": false,
"path": "/concepts/integrated-vs-package-based",
"tags": ["intro", "repository-types"]
},
{
"id": "nx-daemon",
"name": "Nx Daemon",
"description": "",
"mediaImage": "",
"file": "shared/concepts/daemon",
"itemList": [],
"isExternal": false,
"path": "/concepts/nx-daemon",
"tags": []
},
{
"id": "turbo-and-nx",
"name": "Nx and Turborepo",
"description": "",
"mediaImage": "./shared/concepts/nx-media-monorepo.jpg",
"file": "shared/concepts/turbo-and-nx",
"itemList": [],
"isExternal": false,
"path": "/concepts/turbo-and-nx",
"tags": []
},
{
"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": ["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/integrated-vs-package-based": {
"id": "integrated-vs-package-based",
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
"description": "",
"mediaImage": "",
"file": "shared/concepts/integrated-vs-package-based",
"itemList": [],
"isExternal": false,
"path": "/concepts/integrated-vs-package-based",
"tags": ["intro", "repository-types"]
},
"/concepts/nx-daemon": {
"id": "nx-daemon",
"name": "Nx Daemon",
"description": "",
"mediaImage": "",
"file": "shared/concepts/daemon",
"itemList": [],
"isExternal": false,
"path": "/concepts/nx-daemon",
"tags": []
},
"/concepts/turbo-and-nx": {
"id": "turbo-and-nx",
"name": "Nx and Turborepo",
"description": "",
"mediaImage": "./shared/concepts/nx-media-monorepo.jpg",
"file": "shared/concepts/turbo-and-nx",
"itemList": [],
"isExternal": false,
"path": "/concepts/turbo-and-nx",
"tags": []
},
"/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",
"description": "In depth recipes for common tasks",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "installation",
"name": "Installation",
"description": "Installing Nx",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "install-non-javascript",
"name": "Install Nx in a Non-Javascript Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/install-non-javascript",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/install-non-javascript",
"tags": ["installation"]
},
{
"id": "update-global-installation",
"name": "Update Your Global Nx Installation",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/update-global-installation",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/update-global-installation",
"tags": ["installation"]
}
],
"isExternal": false,
"path": "/recipes/installation",
"tags": []
},
{
"id": "running-tasks",
"name": "Tasks & Caching",
"description": "A series of recipes that show how to run tasks efficiently with Nx",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "configure-inputs",
"name": "Configure Inputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-inputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-inputs",
"tags": ["run-tasks", "cache-task-results"]
},
{
"id": "configure-outputs",
"name": "Configure Outputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-outputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-outputs",
"tags": ["run-tasks", "cache-task-results"]
},
{
"id": "defining-task-pipeline",
"name": "Define a Task Pipeline",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/defining-task-pipeline",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/defining-task-pipeline",
"tags": ["run-tasks"]
},
{
"id": "run-commands-executor",
"name": "Run Custom Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/running-custom-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-commands-executor",
"tags": ["run-tasks"]
},
{
"id": "pass-args-to-commands",
"name": "Pass Args to Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/pass-args-to-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/pass-args-to-commands",
"tags": ["run-tasks"]
},
{
"id": "run-tasks-in-parallel",
"name": "Run Tasks in Parallel",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/run-tasks-in-parallel",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-tasks-in-parallel",
"tags": ["run-tasks"]
},
{
"id": "root-level-scripts",
"name": "Run Root-Level NPM Scripts with Nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/root-level-scripts",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/root-level-scripts",
"tags": ["run-tasks"]
},
{
"id": "workspace-watching",
"name": "Workspace Watching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/workspace-watching",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/workspace-watching",
"tags": ["run-tasks", "workspace-watching"]
},
{
"id": "reduce-repetitive-configuration",
"name": "Reduce Repetitive Configuration",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/reduce-repetitive-configuration",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/reduce-repetitive-configuration",
"tags": []
},
{
"id": "change-cache-location",
"name": "Change Cache Location",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/change-cache-location",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/change-cache-location",
"tags": []
},
{
"id": "skipping-cache",
"name": "Skip Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/skipping-cache",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/skipping-cache",
"tags": []
},
{
"id": "convert-to-inferred",
"name": "Migrate to Inferred Tasks (Project Crystal)",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/convert-to-inferred",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/convert-to-inferred",
"tags": ["inferred-tasks", "automate-updating-dependencies"]
}
],
"isExternal": false,
"path": "/recipes/running-tasks",
"tags": []
},
{
"id": "adopting-nx",
"name": "Adopting Nx",
"description": "Adopting Nx incrementally, on existing project or from scratch.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "adding-to-monorepo",
"name": "NPM/Yarn/PNPM workspaces",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-monorepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-monorepo",
"tags": []
},
{
"id": "from-turborepo",
"name": "Migrate From Turborepo",
"description": "",
"mediaImage": "",
"file": "shared/migration/from-turborepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/from-turborepo",
"tags": []
},
{
"id": "adding-to-existing-project",
"name": "Add to any Project",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-existing-project",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-existing-project",
"tags": []
},
{
"id": "preserving-git-histories",
"name": "Preserving Git Histories",
"description": "",
"mediaImage": "",
"file": "shared/migration/preserving-git-histories",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/preserving-git-histories",
"tags": []
},
{
"id": "manual",
"name": "Manual migration",
"description": "",
"mediaImage": "",
"file": "shared/migration/manual",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/manual",
"tags": []
}
],
"isExternal": false,
"path": "/recipes/adopting-nx",
"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": "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": "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": []
},
{
"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": "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": "enforce-module-boundaries",
"name": "Enforce Module Boundaries",
"description": "Configuring the enforce module boundaries rule",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "ban-dependencies-with-tags",
"name": "Ban Dependencies with Certain Tags",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-dependencies-with-tags",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-dependencies-with-tags",
"tags": ["enforce-module-boundaries"]
},
{
"id": "tag-multiple-dimensions",
"name": "Tag in Multiple Dimensions",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tag-multiple-dimensions",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tag-multiple-dimensions",
"tags": ["enforce-module-boundaries"]
},
{
"id": "ban-external-imports",
"name": "Ban External Imports",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-external-imports",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-external-imports",
"tags": ["enforce-module-boundaries"]
},
{
"id": "tags-allow-list",
"name": "Tags Allow List",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tags-allow-list",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tags-allow-list",
"tags": ["enforce-module-boundaries"]
}
],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries",
"tags": []
},
{
"id": "tips-n-tricks",
"name": "Tips and tricks",
"description": "Various tips and tricks for using Nx.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "package-based-in-integrated",
"name": "Add a Package-based Project in an Integrated Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/package-based-in-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/package-based-in-integrated",
"tags": ["repository-types"]
},
{
"id": "integrated-in-package-based",
"name": "Add an Integrated Project in a Package-based Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/integrated-in-package-based",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/integrated-in-package-based",
"tags": ["repository-types"]
},
{
"id": "standalone-to-integrated",
"name": "Convert from a Standalone Repository to an Integrated Repository",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/standalone-to-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/standalone-to-integrated",
"tags": ["repository-types"]
},
{
"id": "eslint",
"name": "Configuring ESLint with Typescript",
"description": "",
"mediaImage": "",
"file": "shared/eslint",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/eslint",
"tags": []
},
{
"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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"tags": ["automate-updating-dependencies"]
},
{
"id": "define-environment-variables",
"name": "Define Environment Variables",
"description": "",
"mediaImage": "",
"file": "shared/guides/define-environment-variables",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/define-environment-variables",
"tags": ["environment-variables"]
},
{
"id": "browser-support",
"name": "Configuring Browser Support",
"description": "",
"mediaImage": "",
"file": "shared/guides/browser-support",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/browser-support",
"tags": []
},
{
"id": "include-assets-in-build",
"name": "Include Assets in Build",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-assets-in-build",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-assets-in-build",
"tags": []
},
{
"id": "include-all-packagejson",
"name": "Include All package.json Files as Projects",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-all-packagejson",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-all-packagejson",
"tags": []
},
{
"id": "identify-dependencies-between-folders",
"name": "Identify Dependencies Between Folders",
"description": "",
"mediaImage": "",
"file": "shared/recipes/identify-dependencies-between-folders",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/identify-dependencies-between-folders",
"tags": []
},
{
"id": "analyze-source-files",
"name": "Disable Graph Links Created from Analyzing Source Files",
"description": "",
"mediaImage": "",
"file": "shared/recipes/analyze-source-files",
"itemList": [],
"isExternal": false,
"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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/advanced-update",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/advanced-update",
"tags": ["automate-updating-dependencies"]
},
{
"id": "yarn-pnp",
"name": "Using Yarn PnP",
"description": "",
"mediaImage": "",
"file": "shared/recipes/yarn-pnp",
"itemList": [],
"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,
"path": "/recipes/tips-n-tricks",
"tags": []
},
{
"id": "nx-console",
"name": "Nx Console",
"description": "Checkout all the recipes related to Nx Console.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "console-telemetry",
"name": "Telemetry",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-telemetry",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-telemetry",
"tags": ["editor-setup"]
},
{
"id": "console-project-details",
"name": "Project Details View",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-project-details",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-project-details",
"tags": ["editor-setup"]
},
{
"id": "console-generate-command",
"name": "Generate Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-generate-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-generate-command",
"tags": ["editor-setup"]
},
{
"id": "console-run-command",
"name": "Run Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-run-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-run-command",
"tags": ["editor-setup"]
},
{
"id": "console-troubleshooting",
"name": "Troubleshooting",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-troubleshooting",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-troubleshooting",
"tags": ["editor-setup"]
}
],
"isExternal": false,
"path": "/recipes/nx-console",
"tags": []
},
{
"id": "nx-release",
"name": "Nx Release",
"description": "Recipes for releasing with Nx release.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "get-started-with-nx-release",
"name": "Get Started with Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/get-started-with-nx-release",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/get-started-with-nx-release",
"tags": ["nx-release"]
},
{
"id": "release-projects-independently",
"name": "Release Projects Independently",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/release-projects-independently",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/release-projects-independently",
"tags": ["nx-release"]
},
{
"id": "automatically-version-with-conventional-commits",
"name": "Automatically Version with Conventional Commits",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automatically-version-with-conventional-commits",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automatically-version-with-conventional-commits",
"tags": ["nx-release"]
},
{
"id": "customize-conventional-commit-types",
"name": "Customize Conventional Commit Types",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/customize-conventional-commit-types",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/customize-conventional-commit-types",
"tags": ["nx-release"]
},
{
"id": "configure-custom-registries",
"name": "Configure Custom Registries",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-custom-registries",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-custom-registries",
"tags": ["nx-release"]
},
{
"id": "publish-in-ci-cd",
"name": "Publish in CI/CD",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-in-ci-cd",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-in-ci-cd",
"tags": ["nx-release"]
},
{
"id": "automate-github-releases",
"name": "Automate GitHub Releases",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automate-github-releases",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automate-github-releases",
"tags": ["nx-release"]
},
{
"id": "publish-rust-crates",
"name": "Publish Rust Crates",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-rust-crates",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-rust-crates",
"tags": ["nx-release"]
},
{
"id": "update-local-registry-setup",
"name": "Update Your Local Registry Setup to use Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/update-local-registry-setup",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/update-local-registry-setup",
"tags": ["nx-release"]
},
{
"id": "configure-changelog-format",
"name": "Configure Changelog Format",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-changelog-format",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-changelog-format",
"tags": ["nx-release"]
},
{
"id": "publish-custom-dist-directory",
"name": "Publish a Custom Dist Directory",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-custom-dist-directory",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-custom-dist-directory",
"tags": ["nx-release"]
}
],
"isExternal": false,
"path": "/recipes/nx-release",
"tags": []
},
{
"id": "other",
"name": "Other",
"description": "Other recipes you will find useful.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "rescope",
"name": "Rescope Packages from @nrwl to @nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/rescope",
"itemList": [],
"isExternal": false,
"path": "/recipes/other/rescope",
"tags": []
}
],
"isExternal": false,
"path": "/recipes/other",
"tags": []
}
],
"isExternal": false,
"path": "/recipes",
"tags": []
},
"/recipes/installation": {
"id": "installation",
"name": "Installation",
"description": "Installing Nx",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "install-non-javascript",
"name": "Install Nx in a Non-Javascript Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/install-non-javascript",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/install-non-javascript",
"tags": ["installation"]
},
{
"id": "update-global-installation",
"name": "Update Your Global Nx Installation",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/update-global-installation",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/update-global-installation",
"tags": ["installation"]
}
],
"isExternal": false,
"path": "/recipes/installation",
"tags": []
},
"/recipes/installation/install-non-javascript": {
"id": "install-non-javascript",
"name": "Install Nx in a Non-Javascript Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/install-non-javascript",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/install-non-javascript",
"tags": ["installation"]
},
"/recipes/installation/update-global-installation": {
"id": "update-global-installation",
"name": "Update Your Global Nx Installation",
"description": "",
"mediaImage": "",
"file": "shared/recipes/installation/update-global-installation",
"itemList": [],
"isExternal": false,
"path": "/recipes/installation/update-global-installation",
"tags": ["installation"]
},
"/recipes/running-tasks": {
"id": "running-tasks",
"name": "Tasks & Caching",
"description": "A series of recipes that show how to run tasks efficiently with Nx",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "configure-inputs",
"name": "Configure Inputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-inputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-inputs",
"tags": ["run-tasks", "cache-task-results"]
},
{
"id": "configure-outputs",
"name": "Configure Outputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-outputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-outputs",
"tags": ["run-tasks", "cache-task-results"]
},
{
"id": "defining-task-pipeline",
"name": "Define a Task Pipeline",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/defining-task-pipeline",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/defining-task-pipeline",
"tags": ["run-tasks"]
},
{
"id": "run-commands-executor",
"name": "Run Custom Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/running-custom-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-commands-executor",
"tags": ["run-tasks"]
},
{
"id": "pass-args-to-commands",
"name": "Pass Args to Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/pass-args-to-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/pass-args-to-commands",
"tags": ["run-tasks"]
},
{
"id": "run-tasks-in-parallel",
"name": "Run Tasks in Parallel",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/run-tasks-in-parallel",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-tasks-in-parallel",
"tags": ["run-tasks"]
},
{
"id": "root-level-scripts",
"name": "Run Root-Level NPM Scripts with Nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/root-level-scripts",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/root-level-scripts",
"tags": ["run-tasks"]
},
{
"id": "workspace-watching",
"name": "Workspace Watching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/workspace-watching",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/workspace-watching",
"tags": ["run-tasks", "workspace-watching"]
},
{
"id": "reduce-repetitive-configuration",
"name": "Reduce Repetitive Configuration",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/reduce-repetitive-configuration",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/reduce-repetitive-configuration",
"tags": []
},
{
"id": "change-cache-location",
"name": "Change Cache Location",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/change-cache-location",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/change-cache-location",
"tags": []
},
{
"id": "skipping-cache",
"name": "Skip Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/skipping-cache",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/skipping-cache",
"tags": []
},
{
"id": "convert-to-inferred",
"name": "Migrate to Inferred Tasks (Project Crystal)",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/convert-to-inferred",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/convert-to-inferred",
"tags": ["inferred-tasks", "automate-updating-dependencies"]
}
],
"isExternal": false,
"path": "/recipes/running-tasks",
"tags": []
},
"/recipes/running-tasks/configure-inputs": {
"id": "configure-inputs",
"name": "Configure Inputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-inputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-inputs",
"tags": ["run-tasks", "cache-task-results"]
},
"/recipes/running-tasks/configure-outputs": {
"id": "configure-outputs",
"name": "Configure Outputs for Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/configure-outputs",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/configure-outputs",
"tags": ["run-tasks", "cache-task-results"]
},
"/recipes/running-tasks/defining-task-pipeline": {
"id": "defining-task-pipeline",
"name": "Define a Task Pipeline",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/defining-task-pipeline",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/defining-task-pipeline",
"tags": ["run-tasks"]
},
"/recipes/running-tasks/run-commands-executor": {
"id": "run-commands-executor",
"name": "Run Custom Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/running-custom-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-commands-executor",
"tags": ["run-tasks"]
},
"/recipes/running-tasks/pass-args-to-commands": {
"id": "pass-args-to-commands",
"name": "Pass Args to Commands",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/pass-args-to-commands",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/pass-args-to-commands",
"tags": ["run-tasks"]
},
"/recipes/running-tasks/run-tasks-in-parallel": {
"id": "run-tasks-in-parallel",
"name": "Run Tasks in Parallel",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/run-tasks-in-parallel",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/run-tasks-in-parallel",
"tags": ["run-tasks"]
},
"/recipes/running-tasks/root-level-scripts": {
"id": "root-level-scripts",
"name": "Run Root-Level NPM Scripts with Nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/root-level-scripts",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/root-level-scripts",
"tags": ["run-tasks"]
},
"/recipes/running-tasks/workspace-watching": {
"id": "workspace-watching",
"name": "Workspace Watching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/workspace-watching",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/workspace-watching",
"tags": ["run-tasks", "workspace-watching"]
},
"/recipes/running-tasks/reduce-repetitive-configuration": {
"id": "reduce-repetitive-configuration",
"name": "Reduce Repetitive Configuration",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/reduce-repetitive-configuration",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/reduce-repetitive-configuration",
"tags": []
},
"/recipes/running-tasks/change-cache-location": {
"id": "change-cache-location",
"name": "Change Cache Location",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/change-cache-location",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/change-cache-location",
"tags": []
},
"/recipes/running-tasks/skipping-cache": {
"id": "skipping-cache",
"name": "Skip Task Caching",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/skipping-cache",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/skipping-cache",
"tags": []
},
"/recipes/running-tasks/convert-to-inferred": {
"id": "convert-to-inferred",
"name": "Migrate to Inferred Tasks (Project Crystal)",
"description": "",
"mediaImage": "",
"file": "shared/recipes/running-tasks/convert-to-inferred",
"itemList": [],
"isExternal": false,
"path": "/recipes/running-tasks/convert-to-inferred",
"tags": ["inferred-tasks", "automate-updating-dependencies"]
},
"/recipes/adopting-nx": {
"id": "adopting-nx",
"name": "Adopting Nx",
"description": "Adopting Nx incrementally, on existing project or from scratch.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "adding-to-monorepo",
"name": "NPM/Yarn/PNPM workspaces",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-monorepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-monorepo",
"tags": []
},
{
"id": "from-turborepo",
"name": "Migrate From Turborepo",
"description": "",
"mediaImage": "",
"file": "shared/migration/from-turborepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/from-turborepo",
"tags": []
},
{
"id": "adding-to-existing-project",
"name": "Add to any Project",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-existing-project",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-existing-project",
"tags": []
},
{
"id": "preserving-git-histories",
"name": "Preserving Git Histories",
"description": "",
"mediaImage": "",
"file": "shared/migration/preserving-git-histories",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/preserving-git-histories",
"tags": []
},
{
"id": "manual",
"name": "Manual migration",
"description": "",
"mediaImage": "",
"file": "shared/migration/manual",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/manual",
"tags": []
}
],
"isExternal": false,
"path": "/recipes/adopting-nx",
"tags": []
},
"/recipes/adopting-nx/adding-to-monorepo": {
"id": "adding-to-monorepo",
"name": "NPM/Yarn/PNPM workspaces",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-monorepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-monorepo",
"tags": []
},
"/recipes/adopting-nx/from-turborepo": {
"id": "from-turborepo",
"name": "Migrate From Turborepo",
"description": "",
"mediaImage": "",
"file": "shared/migration/from-turborepo",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/from-turborepo",
"tags": []
},
"/recipes/adopting-nx/adding-to-existing-project": {
"id": "adding-to-existing-project",
"name": "Add to any Project",
"description": "",
"mediaImage": "",
"file": "shared/migration/adding-to-existing-project",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/adding-to-existing-project",
"tags": []
},
"/recipes/adopting-nx/preserving-git-histories": {
"id": "preserving-git-histories",
"name": "Preserving Git Histories",
"description": "",
"mediaImage": "",
"file": "shared/migration/preserving-git-histories",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/preserving-git-histories",
"tags": []
},
"/recipes/adopting-nx/manual": {
"id": "manual",
"name": "Manual migration",
"description": "",
"mediaImage": "",
"file": "shared/migration/manual",
"itemList": [],
"isExternal": false,
"path": "/recipes/adopting-nx/manual",
"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": "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/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": "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": []
},
{
"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/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": []
},
{
"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": []
},
"/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/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/enforce-module-boundaries": {
"id": "enforce-module-boundaries",
"name": "Enforce Module Boundaries",
"description": "Configuring the enforce module boundaries rule",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "ban-dependencies-with-tags",
"name": "Ban Dependencies with Certain Tags",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-dependencies-with-tags",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-dependencies-with-tags",
"tags": ["enforce-module-boundaries"]
},
{
"id": "tag-multiple-dimensions",
"name": "Tag in Multiple Dimensions",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tag-multiple-dimensions",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tag-multiple-dimensions",
"tags": ["enforce-module-boundaries"]
},
{
"id": "ban-external-imports",
"name": "Ban External Imports",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-external-imports",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-external-imports",
"tags": ["enforce-module-boundaries"]
},
{
"id": "tags-allow-list",
"name": "Tags Allow List",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tags-allow-list",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tags-allow-list",
"tags": ["enforce-module-boundaries"]
}
],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries",
"tags": []
},
"/recipes/enforce-module-boundaries/ban-dependencies-with-tags": {
"id": "ban-dependencies-with-tags",
"name": "Ban Dependencies with Certain Tags",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-dependencies-with-tags",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-dependencies-with-tags",
"tags": ["enforce-module-boundaries"]
},
"/recipes/enforce-module-boundaries/tag-multiple-dimensions": {
"id": "tag-multiple-dimensions",
"name": "Tag in Multiple Dimensions",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tag-multiple-dimensions",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tag-multiple-dimensions",
"tags": ["enforce-module-boundaries"]
},
"/recipes/enforce-module-boundaries/ban-external-imports": {
"id": "ban-external-imports",
"name": "Ban External Imports",
"description": "",
"mediaImage": "",
"file": "shared/recipes/ban-external-imports",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/ban-external-imports",
"tags": ["enforce-module-boundaries"]
},
"/recipes/enforce-module-boundaries/tags-allow-list": {
"id": "tags-allow-list",
"name": "Tags Allow List",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tags-allow-list",
"itemList": [],
"isExternal": false,
"path": "/recipes/enforce-module-boundaries/tags-allow-list",
"tags": ["enforce-module-boundaries"]
},
"/recipes/tips-n-tricks": {
"id": "tips-n-tricks",
"name": "Tips and tricks",
"description": "Various tips and tricks for using Nx.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "package-based-in-integrated",
"name": "Add a Package-based Project in an Integrated Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/package-based-in-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/package-based-in-integrated",
"tags": ["repository-types"]
},
{
"id": "integrated-in-package-based",
"name": "Add an Integrated Project in a Package-based Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/integrated-in-package-based",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/integrated-in-package-based",
"tags": ["repository-types"]
},
{
"id": "standalone-to-integrated",
"name": "Convert from a Standalone Repository to an Integrated Repository",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/standalone-to-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/standalone-to-integrated",
"tags": ["repository-types"]
},
{
"id": "eslint",
"name": "Configuring ESLint with Typescript",
"description": "",
"mediaImage": "",
"file": "shared/eslint",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/eslint",
"tags": []
},
{
"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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"tags": ["automate-updating-dependencies"]
},
{
"id": "define-environment-variables",
"name": "Define Environment Variables",
"description": "",
"mediaImage": "",
"file": "shared/guides/define-environment-variables",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/define-environment-variables",
"tags": ["environment-variables"]
},
{
"id": "browser-support",
"name": "Configuring Browser Support",
"description": "",
"mediaImage": "",
"file": "shared/guides/browser-support",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/browser-support",
"tags": []
},
{
"id": "include-assets-in-build",
"name": "Include Assets in Build",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-assets-in-build",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-assets-in-build",
"tags": []
},
{
"id": "include-all-packagejson",
"name": "Include All package.json Files as Projects",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-all-packagejson",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-all-packagejson",
"tags": []
},
{
"id": "identify-dependencies-between-folders",
"name": "Identify Dependencies Between Folders",
"description": "",
"mediaImage": "",
"file": "shared/recipes/identify-dependencies-between-folders",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/identify-dependencies-between-folders",
"tags": []
},
{
"id": "analyze-source-files",
"name": "Disable Graph Links Created from Analyzing Source Files",
"description": "",
"mediaImage": "",
"file": "shared/recipes/analyze-source-files",
"itemList": [],
"isExternal": false,
"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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/advanced-update",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/advanced-update",
"tags": ["automate-updating-dependencies"]
},
{
"id": "yarn-pnp",
"name": "Using Yarn PnP",
"description": "",
"mediaImage": "",
"file": "shared/recipes/yarn-pnp",
"itemList": [],
"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,
"path": "/recipes/tips-n-tricks",
"tags": []
},
"/recipes/tips-n-tricks/package-based-in-integrated": {
"id": "package-based-in-integrated",
"name": "Add a Package-based Project in an Integrated Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/package-based-in-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/package-based-in-integrated",
"tags": ["repository-types"]
},
"/recipes/tips-n-tricks/integrated-in-package-based": {
"id": "integrated-in-package-based",
"name": "Add an Integrated Project in a Package-based Repo",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/integrated-in-package-based",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/integrated-in-package-based",
"tags": ["repository-types"]
},
"/recipes/tips-n-tricks/standalone-to-integrated": {
"id": "standalone-to-integrated",
"name": "Convert from a Standalone Repository to an Integrated Repository",
"description": "",
"mediaImage": "",
"file": "shared/recipes/repo-types/standalone-to-integrated",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/standalone-to-integrated",
"tags": ["repository-types"]
},
"/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/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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/keep-nx-versions-in-sync",
"tags": ["automate-updating-dependencies"]
},
"/recipes/tips-n-tricks/define-environment-variables": {
"id": "define-environment-variables",
"name": "Define Environment Variables",
"description": "",
"mediaImage": "",
"file": "shared/guides/define-environment-variables",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/define-environment-variables",
"tags": ["environment-variables"]
},
"/recipes/tips-n-tricks/browser-support": {
"id": "browser-support",
"name": "Configuring Browser Support",
"description": "",
"mediaImage": "",
"file": "shared/guides/browser-support",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/browser-support",
"tags": []
},
"/recipes/tips-n-tricks/include-assets-in-build": {
"id": "include-assets-in-build",
"name": "Include Assets in Build",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-assets-in-build",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-assets-in-build",
"tags": []
},
"/recipes/tips-n-tricks/include-all-packagejson": {
"id": "include-all-packagejson",
"name": "Include All package.json Files as Projects",
"description": "",
"mediaImage": "",
"file": "shared/recipes/include-all-packagejson",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/include-all-packagejson",
"tags": []
},
"/recipes/tips-n-tricks/identify-dependencies-between-folders": {
"id": "identify-dependencies-between-folders",
"name": "Identify Dependencies Between Folders",
"description": "",
"mediaImage": "",
"file": "shared/recipes/identify-dependencies-between-folders",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/identify-dependencies-between-folders",
"tags": []
},
"/recipes/tips-n-tricks/analyze-source-files": {
"id": "analyze-source-files",
"name": "Disable Graph Links Created from Analyzing Source Files",
"description": "",
"mediaImage": "",
"file": "shared/recipes/analyze-source-files",
"itemList": [],
"isExternal": false,
"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",
"description": "",
"mediaImage": "",
"file": "shared/recipes/advanced-update",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/advanced-update",
"tags": ["automate-updating-dependencies"]
},
"/recipes/tips-n-tricks/yarn-pnp": {
"id": "yarn-pnp",
"name": "Using Yarn PnP",
"description": "",
"mediaImage": "",
"file": "shared/recipes/yarn-pnp",
"itemList": [],
"isExternal": false,
"path": "/recipes/tips-n-tricks/yarn-pnp",
"tags": ["yarn", "Plug and Play"]
},
"/recipes/tips-n-tricks/flat-config": {
"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"]
},
"/recipes/nx-console": {
"id": "nx-console",
"name": "Nx Console",
"description": "Checkout all the recipes related to Nx Console.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "console-telemetry",
"name": "Telemetry",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-telemetry",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-telemetry",
"tags": ["editor-setup"]
},
{
"id": "console-project-details",
"name": "Project Details View",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-project-details",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-project-details",
"tags": ["editor-setup"]
},
{
"id": "console-generate-command",
"name": "Generate Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-generate-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-generate-command",
"tags": ["editor-setup"]
},
{
"id": "console-run-command",
"name": "Run Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-run-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-run-command",
"tags": ["editor-setup"]
},
{
"id": "console-troubleshooting",
"name": "Troubleshooting",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-troubleshooting",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-troubleshooting",
"tags": ["editor-setup"]
}
],
"isExternal": false,
"path": "/recipes/nx-console",
"tags": []
},
"/recipes/nx-console/console-telemetry": {
"id": "console-telemetry",
"name": "Telemetry",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-telemetry",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-telemetry",
"tags": ["editor-setup"]
},
"/recipes/nx-console/console-project-details": {
"id": "console-project-details",
"name": "Project Details View",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-project-details",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-project-details",
"tags": ["editor-setup"]
},
"/recipes/nx-console/console-generate-command": {
"id": "console-generate-command",
"name": "Generate Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-generate-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-generate-command",
"tags": ["editor-setup"]
},
"/recipes/nx-console/console-run-command": {
"id": "console-run-command",
"name": "Run Command",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-run-command",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-run-command",
"tags": ["editor-setup"]
},
"/recipes/nx-console/console-troubleshooting": {
"id": "console-troubleshooting",
"name": "Troubleshoot Nx Console Issues",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-troubleshooting",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-troubleshooting",
"tags": []
},
"/recipes/nx-release": {
"id": "nx-release",
"name": "Nx Release",
"description": "Recipes for releasing with Nx release.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "get-started-with-nx-release",
"name": "Get Started with Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/get-started-with-nx-release",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/get-started-with-nx-release",
"tags": ["nx-release"]
},
{
"id": "release-projects-independently",
"name": "Release Projects Independently",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/release-projects-independently",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/release-projects-independently",
"tags": ["nx-release"]
},
{
"id": "automatically-version-with-conventional-commits",
"name": "Automatically Version with Conventional Commits",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automatically-version-with-conventional-commits",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automatically-version-with-conventional-commits",
"tags": ["nx-release"]
},
{
"id": "customize-conventional-commit-types",
"name": "Customize Conventional Commit Types",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/customize-conventional-commit-types",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/customize-conventional-commit-types",
"tags": ["nx-release"]
},
{
"id": "configure-custom-registries",
"name": "Configure Custom Registries",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-custom-registries",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-custom-registries",
"tags": ["nx-release"]
},
{
"id": "publish-in-ci-cd",
"name": "Publish in CI/CD",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-in-ci-cd",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-in-ci-cd",
"tags": ["nx-release"]
},
{
"id": "automate-github-releases",
"name": "Automate GitHub Releases",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automate-github-releases",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automate-github-releases",
"tags": ["nx-release"]
},
{
"id": "publish-rust-crates",
"name": "Publish Rust Crates",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-rust-crates",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-rust-crates",
"tags": ["nx-release"]
},
{
"id": "update-local-registry-setup",
"name": "Update Your Local Registry Setup to use Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/update-local-registry-setup",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/update-local-registry-setup",
"tags": ["nx-release"]
},
{
"id": "configure-changelog-format",
"name": "Configure Changelog Format",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-changelog-format",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-changelog-format",
"tags": ["nx-release"]
},
{
"id": "publish-custom-dist-directory",
"name": "Publish a Custom Dist Directory",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-custom-dist-directory",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-custom-dist-directory",
"tags": ["nx-release"]
}
],
"isExternal": false,
"path": "/recipes/nx-release",
"tags": []
},
"/recipes/nx-release/get-started-with-nx-release": {
"id": "get-started-with-nx-release",
"name": "Get Started with Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/get-started-with-nx-release",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/get-started-with-nx-release",
"tags": ["nx-release"]
},
"/recipes/nx-release/release-projects-independently": {
"id": "release-projects-independently",
"name": "Release Projects Independently",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/release-projects-independently",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/release-projects-independently",
"tags": ["nx-release"]
},
"/recipes/nx-release/automatically-version-with-conventional-commits": {
"id": "automatically-version-with-conventional-commits",
"name": "Automatically Version with Conventional Commits",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automatically-version-with-conventional-commits",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automatically-version-with-conventional-commits",
"tags": ["nx-release"]
},
"/recipes/nx-release/customize-conventional-commit-types": {
"id": "customize-conventional-commit-types",
"name": "Customize Conventional Commit Types",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/customize-conventional-commit-types",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/customize-conventional-commit-types",
"tags": ["nx-release"]
},
"/recipes/nx-release/configure-custom-registries": {
"id": "configure-custom-registries",
"name": "Configure Custom Registries",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-custom-registries",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-custom-registries",
"tags": ["nx-release"]
},
"/recipes/nx-release/publish-in-ci-cd": {
"id": "publish-in-ci-cd",
"name": "Publish in CI/CD",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-in-ci-cd",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-in-ci-cd",
"tags": ["nx-release"]
},
"/recipes/nx-release/automate-github-releases": {
"id": "automate-github-releases",
"name": "Automate GitHub Releases",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/automate-github-releases",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/automate-github-releases",
"tags": ["nx-release"]
},
"/recipes/nx-release/publish-rust-crates": {
"id": "publish-rust-crates",
"name": "Publish Rust Crates",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-rust-crates",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-rust-crates",
"tags": ["nx-release"]
},
"/recipes/nx-release/update-local-registry-setup": {
"id": "update-local-registry-setup",
"name": "Update Your Local Registry Setup to use Nx Release",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/update-local-registry-setup",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/update-local-registry-setup",
"tags": ["nx-release"]
},
"/recipes/nx-release/configure-changelog-format": {
"id": "configure-changelog-format",
"name": "Configure Changelog Format",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/configure-changelog-format",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/configure-changelog-format",
"tags": ["nx-release"]
},
"/recipes/nx-release/publish-custom-dist-directory": {
"id": "publish-custom-dist-directory",
"name": "Publish a Custom Dist Directory",
"description": "",
"mediaImage": "",
"file": "shared/recipes/nx-release/publish-custom-dist-directory",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-release/publish-custom-dist-directory",
"tags": ["nx-release"]
},
"/recipes/other": {
"id": "other",
"name": "Other",
"description": "Other recipes you will find useful.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "rescope",
"name": "Rescope Packages from @nrwl to @nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/rescope",
"itemList": [],
"isExternal": false,
"path": "/recipes/other/rescope",
"tags": []
}
],
"isExternal": false,
"path": "/recipes/other",
"tags": []
},
"/recipes/other/rescope": {
"id": "rescope",
"name": "Rescope Packages from @nrwl to @nx",
"description": "",
"mediaImage": "",
"file": "shared/recipes/rescope",
"itemList": [],
"isExternal": false,
"path": "/recipes/other/rescope",
"tags": []
},
"/showcase": {
"id": "showcase",
"name": "Showcase",
"description": "Discover our selection of examples and benchmarks.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "example-repos",
"name": "Nx with your favorite tech",
"description": "Examples of different ways to use Nx with your favorite tech",
"mediaImage": "",
"file": "shared/showcase/example-repos",
"itemList": [
{
"id": "add-express",
"name": "Express",
"description": "Add an Express application to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-express",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-express",
"tags": []
},
{
"id": "add-lit",
"name": "Lit",
"description": "Lit to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-lit",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-lit",
"tags": []
},
{
"id": "add-solid",
"name": "Solid",
"description": "Solid to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-solid",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-solid",
"tags": []
},
{
"id": "add-qwik",
"name": "Qwik",
"description": "Qwik to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-qwik",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-qwik",
"tags": []
},
{
"id": "add-rust",
"name": "Rust",
"description": "Rust to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-rust",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-rust",
"tags": []
},
{
"id": "add-dotnet",
"name": ".NET",
"description": ".NET to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-dotnet",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-dotnet",
"tags": []
},
{
"id": "add-astro",
"name": "Astro",
"description": "Add Nx to an Astro project",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-astro",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-astro",
"tags": []
},
{
"id": "add-svelte",
"name": "Svelte",
"description": "Svelte to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-svelte",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-svelte",
"tags": []
},
{
"id": "add-fastify",
"name": "Fastify",
"description": "Fastify to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-fastify",
"tags": []
},
{
"id": "apollo-react",
"name": "Apollo GraphQL",
"description": "",
"mediaImage": "",
"file": "shared/examples/apollo-react",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/apollo-react",
"tags": []
},
{
"id": "nestjs-prisma",
"name": "Prisma with NestJS",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/nestjs-prisma",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/nestjs-prisma",
"tags": ["database", "node"]
},
{
"id": "mongo-fastify",
"name": "Mongo with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/mongo-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mongo-fastify",
"tags": ["database", "node"]
},
{
"id": "redis-fastify",
"name": "Redis with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/redis-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/redis-fastify",
"tags": ["database", "node"]
},
{
"id": "postgres-fastify",
"name": "Postgres with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/postgres-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/postgres-fastify",
"tags": ["database", "node"]
},
{
"id": "serverless-fastify-planetscale",
"name": "PlanetScale with Serverless Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/serverless-fastify-planetscale",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/serverless-fastify-planetscale",
"tags": ["database", "node", "serverless"]
},
{
"id": "mfe",
"name": "Nx with Micro-frontends",
"description": "",
"mediaImage": "",
"file": "shared/examples/nx-examples",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mfe",
"tags": []
}
],
"isExternal": false,
"path": "/showcase/example-repos",
"tags": []
},
{
"id": "benchmarks",
"name": "Benchmarks",
"description": "Benchmarks showing how fast Nx is",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "tsc-batch-mode",
"name": "Typescript Batch Mode Compilation",
"description": "",
"mediaImage": "",
"file": "shared/examples/tsc-batch-mode",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/tsc-batch-mode",
"tags": []
},
{
"id": "caching",
"name": "Large Repo and Caching",
"description": "",
"mediaImage": "",
"file": "shared/examples/caching",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/caching",
"tags": []
},
{
"id": "dte",
"name": "Large Repo and DTE",
"description": "",
"mediaImage": "",
"file": "shared/examples/dte",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/dte",
"tags": []
}
],
"isExternal": false,
"path": "/showcase/benchmarks",
"tags": []
}
],
"isExternal": false,
"path": "/showcase",
"tags": []
},
"/showcase/example-repos": {
"id": "example-repos",
"name": "Nx with your favorite tech",
"description": "Examples of different ways to use Nx with your favorite tech",
"mediaImage": "",
"file": "shared/showcase/example-repos",
"itemList": [
{
"id": "add-express",
"name": "Express",
"description": "Add an Express application to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-express",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-express",
"tags": []
},
{
"id": "add-lit",
"name": "Lit",
"description": "Lit to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-lit",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-lit",
"tags": []
},
{
"id": "add-solid",
"name": "Solid",
"description": "Solid to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-solid",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-solid",
"tags": []
},
{
"id": "add-qwik",
"name": "Qwik",
"description": "Qwik to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-qwik",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-qwik",
"tags": []
},
{
"id": "add-rust",
"name": "Rust",
"description": "Rust to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-rust",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-rust",
"tags": []
},
{
"id": "add-dotnet",
"name": ".NET",
"description": ".NET to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-dotnet",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-dotnet",
"tags": []
},
{
"id": "add-astro",
"name": "Astro",
"description": "Add Nx to an Astro project",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-astro",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-astro",
"tags": []
},
{
"id": "add-svelte",
"name": "Svelte",
"description": "Svelte to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-svelte",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-svelte",
"tags": []
},
{
"id": "add-fastify",
"name": "Fastify",
"description": "Fastify to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-fastify",
"tags": []
},
{
"id": "apollo-react",
"name": "Apollo GraphQL",
"description": "",
"mediaImage": "",
"file": "shared/examples/apollo-react",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/apollo-react",
"tags": []
},
{
"id": "nestjs-prisma",
"name": "Prisma with NestJS",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/nestjs-prisma",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/nestjs-prisma",
"tags": ["database", "node"]
},
{
"id": "mongo-fastify",
"name": "Mongo with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/mongo-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mongo-fastify",
"tags": ["database", "node"]
},
{
"id": "redis-fastify",
"name": "Redis with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/redis-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/redis-fastify",
"tags": ["database", "node"]
},
{
"id": "postgres-fastify",
"name": "Postgres with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/postgres-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/postgres-fastify",
"tags": ["database", "node"]
},
{
"id": "serverless-fastify-planetscale",
"name": "PlanetScale with Serverless Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/serverless-fastify-planetscale",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/serverless-fastify-planetscale",
"tags": ["database", "node", "serverless"]
},
{
"id": "mfe",
"name": "Nx with Micro-frontends",
"description": "",
"mediaImage": "",
"file": "shared/examples/nx-examples",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mfe",
"tags": []
}
],
"isExternal": false,
"path": "/showcase/example-repos",
"tags": []
},
"/showcase/example-repos/add-express": {
"id": "add-express",
"name": "Express",
"description": "Add an Express application to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-express",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-express",
"tags": []
},
"/showcase/example-repos/add-lit": {
"id": "add-lit",
"name": "Lit",
"description": "Lit to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-lit",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-lit",
"tags": []
},
"/showcase/example-repos/add-solid": {
"id": "add-solid",
"name": "Solid",
"description": "Solid to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-solid",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-solid",
"tags": []
},
"/showcase/example-repos/add-qwik": {
"id": "add-qwik",
"name": "Qwik",
"description": "Qwik to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-qwik",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-qwik",
"tags": []
},
"/showcase/example-repos/add-rust": {
"id": "add-rust",
"name": "Rust",
"description": "Rust to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-rust",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-rust",
"tags": []
},
"/showcase/example-repos/add-dotnet": {
"id": "add-dotnet",
"name": ".NET",
"description": ".NET to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-dotnet",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-dotnet",
"tags": []
},
"/showcase/example-repos/add-astro": {
"id": "add-astro",
"name": "Astro",
"description": "Add Nx to an Astro project",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-astro",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-astro",
"tags": []
},
"/showcase/example-repos/add-svelte": {
"id": "add-svelte",
"name": "Svelte",
"description": "Svelte to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-svelte",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-svelte",
"tags": []
},
"/showcase/example-repos/add-fastify": {
"id": "add-fastify",
"name": "Fastify",
"description": "Fastify to your repo",
"mediaImage": "",
"file": "shared/recipes/add-stack/add-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/add-fastify",
"tags": []
},
"/showcase/example-repos/apollo-react": {
"id": "apollo-react",
"name": "Apollo GraphQL",
"description": "",
"mediaImage": "",
"file": "shared/examples/apollo-react",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/apollo-react",
"tags": []
},
"/showcase/example-repos/nestjs-prisma": {
"id": "nestjs-prisma",
"name": "Prisma with NestJS",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/nestjs-prisma",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/nestjs-prisma",
"tags": ["database", "node"]
},
"/showcase/example-repos/mongo-fastify": {
"id": "mongo-fastify",
"name": "Mongo with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/mongo-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mongo-fastify",
"tags": ["database", "node"]
},
"/showcase/example-repos/redis-fastify": {
"id": "redis-fastify",
"name": "Redis with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/redis-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/redis-fastify",
"tags": ["database", "node"]
},
"/showcase/example-repos/postgres-fastify": {
"id": "postgres-fastify",
"name": "Postgres with Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/postgres-fastify",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/postgres-fastify",
"tags": ["database", "node"]
},
"/showcase/example-repos/serverless-fastify-planetscale": {
"id": "serverless-fastify-planetscale",
"name": "PlanetScale with Serverless Fastify",
"description": "",
"mediaImage": "",
"file": "shared/recipes/database/serverless-fastify-planetscale",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/serverless-fastify-planetscale",
"tags": ["database", "node", "serverless"]
},
"/showcase/example-repos/mfe": {
"id": "mfe",
"name": "Nx with Micro-frontends",
"description": "",
"mediaImage": "",
"file": "shared/examples/nx-examples",
"itemList": [],
"isExternal": false,
"path": "/showcase/example-repos/mfe",
"tags": []
},
"/showcase/benchmarks": {
"id": "benchmarks",
"name": "Benchmarks",
"description": "Benchmarks showing how fast Nx is",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "tsc-batch-mode",
"name": "Typescript Batch Mode Compilation",
"description": "",
"mediaImage": "",
"file": "shared/examples/tsc-batch-mode",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/tsc-batch-mode",
"tags": []
},
{
"id": "caching",
"name": "Large Repo and Caching",
"description": "",
"mediaImage": "",
"file": "shared/examples/caching",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/caching",
"tags": []
},
{
"id": "dte",
"name": "Large Repo and DTE",
"description": "",
"mediaImage": "",
"file": "shared/examples/dte",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/dte",
"tags": []
}
],
"isExternal": false,
"path": "/showcase/benchmarks",
"tags": []
},
"/showcase/benchmarks/tsc-batch-mode": {
"id": "tsc-batch-mode",
"name": "Typescript Batch Mode Compilation",
"description": "",
"mediaImage": "",
"file": "shared/examples/tsc-batch-mode",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/tsc-batch-mode",
"tags": []
},
"/showcase/benchmarks/caching": {
"id": "caching",
"name": "Large Repo and Caching",
"description": "",
"mediaImage": "",
"file": "shared/examples/caching",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/caching",
"tags": []
},
"/showcase/benchmarks/dte": {
"id": "dte",
"name": "Large Repo and DTE",
"description": "",
"mediaImage": "",
"file": "shared/examples/dte",
"itemList": [],
"isExternal": false,
"path": "/showcase/benchmarks/dte",
"tags": []
},
"/reference": {
"id": "reference",
"name": "Reference",
"description": "Understand how to use Nx functionalities, what arguments and options are available for each component.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "commands",
"name": "Commands",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/nx-api/nx",
"tags": []
},
{
"id": "nx-json",
"name": "Nx Configuration",
"description": "",
"mediaImage": "",
"file": "shared/reference/nx-json",
"itemList": [],
"isExternal": false,
"path": "/reference/nx-json",
"tags": []
},
{
"id": "project-configuration",
"name": "Project Configuration",
"description": "",
"mediaImage": "",
"file": "shared/reference/project-configuration",
"itemList": [],
"isExternal": false,
"path": "/reference/project-configuration",
"tags": []
},
{
"id": "inputs",
"name": "Inputs and Named Inputs",
"description": "",
"mediaImage": "",
"file": "shared/reference/inputs",
"itemList": [],
"isExternal": false,
"path": "/reference/inputs",
"tags": ["cache-task-results"]
},
{
"id": "nxignore",
"name": ".nxignore",
"description": "",
"mediaImage": "",
"file": "shared/reference/nxignore",
"itemList": [],
"isExternal": false,
"path": "/reference/nxignore",
"tags": ["enforce-module-boundaries"]
},
{
"id": "environment-variables",
"name": "Environment Variables",
"description": "",
"mediaImage": "",
"file": "shared/reference/environment-variables",
"itemList": [],
"isExternal": false,
"path": "/reference/environment-variables",
"tags": ["environment-variables"]
},
{
"id": "glossary",
"name": "Glossary",
"description": "",
"mediaImage": "",
"file": "shared/reference/glossary",
"itemList": [],
"isExternal": false,
"path": "/reference/glossary",
"tags": []
},
{
"id": "releases",
"name": "Releases",
"description": "",
"mediaImage": "",
"file": "shared/reference/releases",
"itemList": [],
"isExternal": false,
"path": "/reference/releases",
"tags": []
}
],
"isExternal": false,
"path": "/reference",
"tags": []
},
"/nx-api/nx": {
"id": "commands",
"name": "Commands",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/nx-api/nx",
"tags": []
},
"/reference/nx-json": {
"id": "nx-json",
"name": "Nx Configuration",
"description": "",
"mediaImage": "",
"file": "shared/reference/nx-json",
"itemList": [],
"isExternal": false,
"path": "/reference/nx-json",
"tags": []
},
"/reference/project-configuration": {
"id": "project-configuration",
"name": "Project Configuration",
"description": "",
"mediaImage": "",
"file": "shared/reference/project-configuration",
"itemList": [],
"isExternal": false,
"path": "/reference/project-configuration",
"tags": []
},
"/reference/inputs": {
"id": "inputs",
"name": "Inputs and Named Inputs",
"description": "",
"mediaImage": "",
"file": "shared/reference/inputs",
"itemList": [],
"isExternal": false,
"path": "/reference/inputs",
"tags": ["cache-task-results"]
},
"/reference/nxignore": {
"id": "nxignore",
"name": ".nxignore",
"description": "",
"mediaImage": "",
"file": "shared/reference/nxignore",
"itemList": [],
"isExternal": false,
"path": "/reference/nxignore",
"tags": ["enforce-module-boundaries"]
},
"/reference/environment-variables": {
"id": "environment-variables",
"name": "Environment Variables",
"description": "",
"mediaImage": "",
"file": "shared/reference/environment-variables",
"itemList": [],
"isExternal": false,
"path": "/reference/environment-variables",
"tags": ["environment-variables"]
},
"/reference/glossary": {
"id": "glossary",
"name": "Glossary",
"description": "",
"mediaImage": "",
"file": "shared/reference/glossary",
"itemList": [],
"isExternal": false,
"path": "/reference/glossary",
"tags": []
},
"/reference/releases": {
"id": "releases",
"name": "Releases",
"description": "",
"mediaImage": "",
"file": "shared/reference/releases",
"itemList": [],
"isExternal": false,
"path": "/reference/releases",
"tags": []
},
"/troubleshooting": {
"id": "troubleshooting",
"name": "Troubleshooting",
"description": "Learn how to troubleshoot common problems.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "resolve-circular-dependencies",
"name": "Resolve Circular Dependencies",
"description": "",
"mediaImage": "",
"file": "shared/recipes/resolve-circular-dependencies",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/resolve-circular-dependencies",
"tags": ["explore-graph"]
},
{
"id": "troubleshoot-nx-install-issues",
"name": "Troubleshoot Nx Install Issues",
"description": "",
"mediaImage": "",
"file": "shared/installation/troubleshoot-installation",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/troubleshoot-nx-install-issues",
"tags": []
},
{
"id": "troubleshoot-cache-misses",
"name": "Troubleshoot Cache Misses",
"description": "",
"mediaImage": "",
"file": "shared/recipes/troubleshoot-cache-misses",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/troubleshoot-cache-misses",
"tags": ["cache-task-results"]
},
{
"id": "unknown-local-cache",
"name": "Unknown Local Cache Error",
"description": "",
"mediaImage": "",
"file": "shared/guides/unknown-local-cache",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/unknown-local-cache",
"tags": []
},
{
"id": "performance-profiling",
"name": "Profiling Build Performance",
"description": "",
"mediaImage": "",
"file": "shared/guides/performance-profiling",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/performance-profiling",
"tags": ["environment-variables"]
},
{
"id": "console-troubleshooting",
"name": "Troubleshoot Nx Console Issues",
"description": "",
"mediaImage": "",
"file": "shared/recipes/console-troubleshooting",
"itemList": [],
"isExternal": false,
"path": "/recipes/nx-console/console-troubleshooting",
"tags": []
},
{
"id": "convert-to-inferred",
"name": "Troubleshoot Convert to Inferred Migration",
"description": "",
"mediaImage": "",
"file": "shared/guides/troubleshoot-convert-to-inferred",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/convert-to-inferred",
"tags": []
}
],
"isExternal": false,
"path": "/troubleshooting",
"tags": []
},
"/troubleshooting/resolve-circular-dependencies": {
"id": "resolve-circular-dependencies",
"name": "Resolve Circular Dependencies",
"description": "",
"mediaImage": "",
"file": "shared/recipes/resolve-circular-dependencies",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/resolve-circular-dependencies",
"tags": ["explore-graph"]
},
"/troubleshooting/troubleshoot-nx-install-issues": {
"id": "troubleshoot-nx-install-issues",
"name": "Troubleshoot Nx Install Issues",
"description": "",
"mediaImage": "",
"file": "shared/installation/troubleshoot-installation",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/troubleshoot-nx-install-issues",
"tags": []
},
"/troubleshooting/troubleshoot-cache-misses": {
"id": "troubleshoot-cache-misses",
"name": "Troubleshoot Cache Misses",
"description": "",
"mediaImage": "",
"file": "shared/recipes/troubleshoot-cache-misses",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/troubleshoot-cache-misses",
"tags": ["cache-task-results"]
},
"/troubleshooting/unknown-local-cache": {
"id": "unknown-local-cache",
"name": "Unknown Local Cache Error",
"description": "",
"mediaImage": "",
"file": "shared/guides/unknown-local-cache",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/unknown-local-cache",
"tags": []
},
"/troubleshooting/performance-profiling": {
"id": "performance-profiling",
"name": "Profiling Build Performance",
"description": "",
"mediaImage": "",
"file": "shared/guides/performance-profiling",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/performance-profiling",
"tags": ["environment-variables"]
},
"/troubleshooting/convert-to-inferred": {
"id": "convert-to-inferred",
"name": "Troubleshoot Convert to Inferred Migration",
"description": "",
"mediaImage": "",
"file": "shared/guides/troubleshoot-convert-to-inferred",
"itemList": [],
"isExternal": false,
"path": "/troubleshooting/convert-to-inferred",
"tags": []
},
"/deprecated": {
"id": "deprecated",
"name": "Deprecated",
"description": "Functionality that has been superseded in the current version of Nx. Listed here for those running older versions.",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "affected-graph",
"name": "affected:graph",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/affected-graph",
"itemList": [],
"isExternal": false,
"path": "/deprecated/affected-graph",
"tags": []
},
{
"id": "print-affected",
"name": "print-affected",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/print-affected",
"itemList": [],
"isExternal": false,
"path": "/deprecated/print-affected",
"tags": []
},
{
"id": "workspace-json",
"name": "workspace.json",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-json",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-json",
"tags": []
},
{
"id": "as-provided-vs-derived",
"name": "As Provided vs. Derived",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/as-provided-vs-derived",
"itemList": [],
"isExternal": false,
"path": "/deprecated/as-provided-vs-derived",
"tags": []
},
{
"id": "workspace-generators",
"name": "Workspace Generators",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-generators",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-generators",
"tags": []
},
{
"id": "workspace-executors",
"name": "Workspace Executors",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-executors",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-executors",
"tags": []
},
{
"id": "runtime-cache-inputs",
"name": "runtimeCacheInputs",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/runtime-cache-inputs",
"itemList": [],
"isExternal": false,
"path": "/deprecated/runtime-cache-inputs",
"tags": []
},
{
"id": "cacheable-operations",
"name": "cacheableOperations",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/cacheable-operations",
"itemList": [],
"isExternal": false,
"path": "/deprecated/cacheable-operations",
"tags": []
},
{
"id": "npm-scope",
"name": "npmScope",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/npm-scope",
"itemList": [],
"isExternal": false,
"path": "/deprecated/npm-scope",
"tags": []
},
{
"id": "global-implicit-dependencies",
"name": "globalImplicitDependencies",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/global-implicit-dependencies",
"itemList": [],
"isExternal": false,
"path": "/deprecated/global-implicit-dependencies",
"tags": []
},
{
"id": "angular-schematics-builders",
"name": "Angular Schematics and Builders",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/angular-schematics-builders",
"itemList": [],
"isExternal": false,
"path": "/deprecated/angular-schematics-builders",
"tags": []
},
{
"id": "v1-nx-plugin-api",
"name": "v1 Nx Plugin API",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/v1-nx-plugin-api",
"itemList": [],
"isExternal": false,
"path": "/deprecated/v1-nx-plugin-api",
"tags": []
}
],
"isExternal": false,
"path": "/deprecated",
"tags": []
},
"/deprecated/affected-graph": {
"id": "affected-graph",
"name": "affected:graph",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/affected-graph",
"itemList": [],
"isExternal": false,
"path": "/deprecated/affected-graph",
"tags": []
},
"/deprecated/print-affected": {
"id": "print-affected",
"name": "print-affected",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/print-affected",
"itemList": [],
"isExternal": false,
"path": "/deprecated/print-affected",
"tags": []
},
"/deprecated/workspace-json": {
"id": "workspace-json",
"name": "workspace.json",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-json",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-json",
"tags": []
},
"/deprecated/as-provided-vs-derived": {
"id": "as-provided-vs-derived",
"name": "As Provided vs. Derived",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/as-provided-vs-derived",
"itemList": [],
"isExternal": false,
"path": "/deprecated/as-provided-vs-derived",
"tags": []
},
"/deprecated/workspace-generators": {
"id": "workspace-generators",
"name": "Workspace Generators",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-generators",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-generators",
"tags": []
},
"/deprecated/workspace-executors": {
"id": "workspace-executors",
"name": "Workspace Executors",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/workspace-executors",
"itemList": [],
"isExternal": false,
"path": "/deprecated/workspace-executors",
"tags": []
},
"/deprecated/runtime-cache-inputs": {
"id": "runtime-cache-inputs",
"name": "runtimeCacheInputs",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/runtime-cache-inputs",
"itemList": [],
"isExternal": false,
"path": "/deprecated/runtime-cache-inputs",
"tags": []
},
"/deprecated/cacheable-operations": {
"id": "cacheable-operations",
"name": "cacheableOperations",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/cacheable-operations",
"itemList": [],
"isExternal": false,
"path": "/deprecated/cacheable-operations",
"tags": []
},
"/deprecated/npm-scope": {
"id": "npm-scope",
"name": "npmScope",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/npm-scope",
"itemList": [],
"isExternal": false,
"path": "/deprecated/npm-scope",
"tags": []
},
"/deprecated/global-implicit-dependencies": {
"id": "global-implicit-dependencies",
"name": "globalImplicitDependencies",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/global-implicit-dependencies",
"itemList": [],
"isExternal": false,
"path": "/deprecated/global-implicit-dependencies",
"tags": []
},
"/deprecated/angular-schematics-builders": {
"id": "angular-schematics-builders",
"name": "Angular Schematics and Builders",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/angular-schematics-builders",
"itemList": [],
"isExternal": false,
"path": "/deprecated/angular-schematics-builders",
"tags": []
},
"/deprecated/v1-nx-plugin-api": {
"id": "v1-nx-plugin-api",
"name": "v1 Nx Plugin API",
"description": "",
"mediaImage": "",
"file": "shared/deprecated/v1-nx-plugin-api",
"itemList": [],
"isExternal": false,
"path": "/deprecated/v1-nx-plugin-api",
"tags": []
},
"/see-also": {
"id": "see-also",
"name": "See Also",
"description": "Links to other pieces of documentation",
"mediaImage": "",
"file": "",
"itemList": [
{
"id": "ci",
"name": "CI Documentation",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/intro/ci-with-nx",
"tags": ["cache-task-results", "distribute-task-execution"]
},
{
"id": "nx-cloud-main-site",
"name": "Nx Cloud Main Site",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "https://nx.app",
"tags": ["cache-task-results", "distribute-task-execution"]
},
{
"id": "skip-nx-cache-flag",
"name": "--skip-nx-cache flag",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/nx-api/nx/documents/affected#skip-nx-cache",
"tags": ["cache-task-results"]
},
{
"id": "tasks-runner-options-property",
"name": "tasks-runner-options property",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#tasks-runner-options",
"tags": ["cache-task-results"]
},
{
"id": "nxjson-inputs",
"name": "nx.json reference: inputs and namedInputs",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#inputs-namedinputs",
"tags": ["cache-task-results"]
},
{
"id": "project-config-inputs",
"name": "Project Configuration reference: inputs and namedInputs",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/project-configuration#inputs-and-namedinputs",
"tags": ["cache-task-results"]
},
{
"id": "nxjson-generator-defaults",
"name": "nx.json generator defaults",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#generators",
"tags": ["generate-code"]
},
{
"id": "sitemap",
"name": "Site Map",
"description": "",
"mediaImage": "",
"file": "shared/reference/sitemap",
"itemList": [],
"isExternal": false,
"path": "/see-also/sitemap",
"tags": []
}
],
"isExternal": false,
"path": "/see-also",
"tags": []
},
"/ci/intro/ci-with-nx": {
"id": "ci",
"name": "CI Documentation",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/ci/intro/ci-with-nx",
"tags": ["cache-task-results", "distribute-task-execution"]
},
"/nx-api/nx/documents/affected#skip-nx-cache": {
"id": "skip-nx-cache-flag",
"name": "--skip-nx-cache flag",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/nx-api/nx/documents/affected#skip-nx-cache",
"tags": ["cache-task-results"]
},
"/reference/nx-json#tasks-runner-options": {
"id": "tasks-runner-options-property",
"name": "tasks-runner-options property",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#tasks-runner-options",
"tags": ["cache-task-results"]
},
"/reference/nx-json#inputs-namedinputs": {
"id": "nxjson-inputs",
"name": "nx.json reference: inputs and namedInputs",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#inputs-namedinputs",
"tags": ["cache-task-results"]
},
"/reference/project-configuration#inputs-and-namedinputs": {
"id": "project-config-inputs",
"name": "Project Configuration reference: inputs and namedInputs",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/project-configuration#inputs-and-namedinputs",
"tags": ["cache-task-results"]
},
"/reference/nx-json#generators": {
"id": "nxjson-generator-defaults",
"name": "nx.json generator defaults",
"description": "",
"mediaImage": "",
"file": "",
"itemList": [],
"isExternal": true,
"path": "/reference/nx-json#generators",
"tags": ["generate-code"]
},
"/see-also/sitemap": {
"id": "sitemap",
"name": "Site Map",
"description": "",
"mediaImage": "",
"file": "shared/reference/sitemap",
"itemList": [],
"isExternal": false,
"path": "/see-also/sitemap",
"tags": []
}
}