- Move the integrated vs. package-based concept page to the deprecated section - Remove the integrated project in package-based repo recipe - Remove the package-based project in integrated repo recipe - Rename standalone to integrated recipe - Update references to integrated or package-based terms in tutorials
2666 lines
99 KiB
JSON
2666 lines
99 KiB
JSON
{
|
|
"$schema": "./../scripts/documentation/map-schema.json",
|
|
"title": "Documentation map reference",
|
|
"description": "This is used to create documentation routing and hierarchy on the nx.dev website.",
|
|
"content": [
|
|
{
|
|
"name": "Nx",
|
|
"id": "nx-documentation",
|
|
"description": "Nx documentation for you to discover!",
|
|
"itemList": [
|
|
{
|
|
"name": "Getting Started",
|
|
"id": "getting-started",
|
|
"description": "Get started with basic information, concepts and tutorials.",
|
|
"itemList": [
|
|
{
|
|
"name": "Intro to Nx",
|
|
"id": "intro",
|
|
"file": "shared/getting-started/intro"
|
|
},
|
|
{
|
|
"name": "Installation",
|
|
"id": "installation",
|
|
"file": "shared/getting-started/installation"
|
|
},
|
|
{
|
|
"name": "Why Nx?",
|
|
"id": "why-nx",
|
|
"file": "shared/getting-started/why-nx"
|
|
},
|
|
{
|
|
"name": "Editor Setup",
|
|
"description": "Learn about Nx Console, an extension for VS Code and WebStorm.",
|
|
"id": "editor-setup",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/getting-started/editor-setup"
|
|
},
|
|
{
|
|
"name": "Tutorials",
|
|
"id": "tutorials",
|
|
"description": "Get started with basic information, concepts and tutorials.",
|
|
"itemList": [
|
|
{
|
|
"name": "NPM Workspaces Monorepo",
|
|
"id": "npm-workspaces-tutorial",
|
|
"file": "shared/tutorials/npm-workspaces"
|
|
},
|
|
{
|
|
"name": "React Standalone",
|
|
"id": "react-standalone-tutorial",
|
|
"file": "shared/tutorials/react-standalone"
|
|
},
|
|
{
|
|
"name": "React Monorepo",
|
|
"id": "react-monorepo-tutorial",
|
|
"file": "shared/tutorials/react-monorepo"
|
|
},
|
|
{
|
|
"name": "Angular Standalone",
|
|
"id": "angular-standalone-tutorial",
|
|
"file": "shared/tutorials/angular-standalone"
|
|
},
|
|
{
|
|
"name": "Angular Monorepo",
|
|
"id": "angular-monorepo-tutorial",
|
|
"file": "shared/tutorials/angular-monorepo"
|
|
},
|
|
{
|
|
"name": "Vue Standalone",
|
|
"id": "vue-standalone-tutorial",
|
|
"file": "shared/tutorials/vue-standalone"
|
|
},
|
|
{
|
|
"name": "Gradle Monorepo",
|
|
"id": "gradle-tutorial",
|
|
"file": "shared/tutorials/gradle"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Features",
|
|
"id": "features",
|
|
"description": "Learn the core features of Nx with in depth guides.",
|
|
"itemList": [
|
|
{
|
|
"name": "Run Tasks",
|
|
"description": "Learn about the various ways you can use Nx to run tasks in your workspace.",
|
|
"tags": ["run-tasks", "cache-task-results"],
|
|
"id": "run-tasks",
|
|
"file": "shared/features/run-tasks"
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "cache-task-results",
|
|
"tags": ["cache-task-results"],
|
|
"file": "shared/features/cache-task-results"
|
|
},
|
|
{
|
|
"name": "Explore Your Workspace",
|
|
"id": "explore-graph",
|
|
"tags": ["explore-graph"],
|
|
"file": "shared/features/explore-graph"
|
|
},
|
|
{
|
|
"name": "Generate Code",
|
|
"id": "generate-code",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/features/generate-code"
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "automate-updating-dependencies",
|
|
"tags": ["automate-updating-dependencies"],
|
|
"file": "shared/features/automate-updating-dependencies"
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "enforce-module-boundaries",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/features/enforce-module-boundaries"
|
|
},
|
|
{
|
|
"name": "Manage Releases",
|
|
"description": "Learn how Nx provides tools to help you manage releasing your projects.",
|
|
"id": "manage-releases",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/features/manage-releases"
|
|
},
|
|
{
|
|
"name": "Powerpack Features",
|
|
"id": "powerpack",
|
|
"description": "Nx Powerpack is a suite of paid extensions for the Nx CLI specifically designed for enterprises.",
|
|
"file": "shared/features/powerpack/index",
|
|
"itemList": [
|
|
{
|
|
"name": "Run Language-Agnostic Conformance Rules",
|
|
"description": "Write and apply rules for your Nx workspace",
|
|
"id": "conformance",
|
|
"tags": ["conformance"],
|
|
"file": "shared/features/powerpack/conformance"
|
|
},
|
|
{
|
|
"name": "Define Code Ownership at the Project Level",
|
|
"description": "Configure and maintain code owners for projects in an Nx workspace",
|
|
"id": "owners",
|
|
"tags": ["owners"],
|
|
"file": "shared/features/powerpack/owners"
|
|
},
|
|
{
|
|
"name": "Self-Host the Remote Cache",
|
|
"description": "Host the remote cache without using Nx Cloud",
|
|
"id": "custom-caching",
|
|
"tags": ["custom-caching"],
|
|
"file": "shared/features/powerpack/custom-caching"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "CI Features",
|
|
"id": "ci-features",
|
|
"description": "Features of Nx and Nx Cloud that improve CI",
|
|
"itemList": [
|
|
{
|
|
"name": "Run Only Tasks Affected by a PR",
|
|
"id": "affected",
|
|
"file": "",
|
|
"path": "/ci/features/affected",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "remote-cache",
|
|
"file": "",
|
|
"path": "/ci/features/remote-cache",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "distribute-task-execution",
|
|
"file": "",
|
|
"path": "/ci/features/distribute-task-execution",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Dynamically Allocate Agents",
|
|
"id": "dynamic-agents",
|
|
"file": "",
|
|
"path": "/ci/features/dynamic-agents",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Automatically Split E2E Tasks",
|
|
"id": "split-e2e-tasks",
|
|
"file": "",
|
|
"path": "/ci/features/split-e2e-tasks",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Identify and Re-run Flaky Tasks",
|
|
"id": "flaky-tasks",
|
|
"file": "",
|
|
"path": "/ci/features/flaky-tasks",
|
|
"isExternal": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Concepts",
|
|
"id": "concepts",
|
|
"description": "Learn about all the different concepts Nx uses to manage your tasks and enhance your productivity.",
|
|
"itemList": [
|
|
{
|
|
"name": "Mental Model",
|
|
"tags": ["intro", "inferred-tasks"],
|
|
"id": "mental-model",
|
|
"file": "shared/concepts/mental-model"
|
|
},
|
|
{
|
|
"name": "How Caching Works",
|
|
"tags": ["cache-task-results"],
|
|
"id": "how-caching-works",
|
|
"file": "shared/concepts/how-caching-works"
|
|
},
|
|
{
|
|
"name": "What is a Task Pipeline",
|
|
"tags": ["run-tasks"],
|
|
"id": "task-pipeline-configuration",
|
|
"file": "shared/concepts/task-pipeline-configuration"
|
|
},
|
|
{
|
|
"name": "What Are Nx Plugins",
|
|
"tags": [
|
|
"generate-code",
|
|
"create-your-own-plugin",
|
|
"inferred-tasks"
|
|
],
|
|
"id": "nx-plugins",
|
|
"file": "shared/concepts/nx-plugins"
|
|
},
|
|
{
|
|
"name": "Inferred Tasks",
|
|
"tags": ["inferred-tasks"],
|
|
"id": "inferred-tasks",
|
|
"file": "shared/concepts/inferred-tasks"
|
|
},
|
|
{
|
|
"name": "Types of Configuration",
|
|
"tags": [],
|
|
"id": "types-of-configuration",
|
|
"file": "shared/concepts/types-of-configuration"
|
|
},
|
|
{
|
|
"name": "Executors and Configurations",
|
|
"id": "executors-and-configurations",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/concepts/executors-and-configurations"
|
|
},
|
|
{
|
|
"name": "Nx Daemon",
|
|
"id": "nx-daemon",
|
|
"file": "shared/concepts/daemon"
|
|
},
|
|
{
|
|
"name": "Sync Generators",
|
|
"id": "sync-generators",
|
|
"file": "shared/concepts/sync-generators"
|
|
},
|
|
{
|
|
"name": "Nx and Turborepo",
|
|
"id": "turbo-and-nx",
|
|
"mediaImage": "./shared/concepts/nx-media-monorepo.jpg",
|
|
"file": "shared/concepts/turbo-and-nx"
|
|
},
|
|
{
|
|
"name": "Buildable and Publishable Libraries",
|
|
"id": "buildable-and-publishable-libraries",
|
|
"file": "shared/concepts/buildable-and-publishable-libraries"
|
|
},
|
|
{
|
|
"name": "Module Federation",
|
|
"id": "module-federation",
|
|
"description": "Understand more about Module Federation with NX",
|
|
"itemList": [
|
|
{
|
|
"name": "Module Federation and Nx",
|
|
"id": "module-federation-and-nx",
|
|
"tags": ["module-federation", "angular", "react"],
|
|
"file": "shared/concepts/module-federation/module-federation-and-nx"
|
|
},
|
|
{
|
|
"name": "Nx Module Federation Technical Overview",
|
|
"id": "nx-module-federation-technical-overview",
|
|
"tags": ["module-federation", "angular", "react"],
|
|
"file": "shared/concepts/module-federation/nx-module-federation-technical-overview"
|
|
},
|
|
{
|
|
"name": "Faster Builds with Module Federation",
|
|
"id": "faster-builds-with-module-federation",
|
|
"tags": ["module-federation", "angular", "react"],
|
|
"file": "shared/concepts/module-federation/faster-builds"
|
|
},
|
|
{
|
|
"name": "Micro Frontend Architecture",
|
|
"id": "micro-frontend-architecture",
|
|
"file": "shared/concepts/module-federation/micro-frontend-architecture"
|
|
},
|
|
{
|
|
"name": "Manage Library Versions with Module Federation",
|
|
"id": "manage-library-versions-with-module-federation",
|
|
"file": "shared/concepts/module-federation/manage-library-versions-with-module-federation"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Organizational Decisions",
|
|
"id": "decisions",
|
|
"description": "Topics that need to be considered when structuring your repository",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"file": "shared/concepts/decisions/monorepo-polyrepo"
|
|
},
|
|
{
|
|
"name": "Monorepos",
|
|
"id": "why-monorepos",
|
|
"file": "shared/concepts/decisions/monorepos"
|
|
},
|
|
{
|
|
"name": "Dependency Management",
|
|
"id": "dependency-management",
|
|
"file": "shared/concepts/decisions/dependency-management"
|
|
},
|
|
{
|
|
"name": "Code Ownership",
|
|
"id": "code-ownership",
|
|
"file": "shared/concepts/decisions/code-ownership"
|
|
},
|
|
{
|
|
"name": "Project Size",
|
|
"id": "project-size",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/concepts/decisions/project-size"
|
|
},
|
|
{
|
|
"name": "Project Dependency Rules",
|
|
"id": "project-dependency-rules",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/concepts/decisions/project-dependency-rules"
|
|
},
|
|
{
|
|
"name": "Folder Structure",
|
|
"id": "folder-structure",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/concepts/decisions/folder-structure"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Recipes",
|
|
"id": "recipes",
|
|
"description": "In depth recipes for common tasks",
|
|
"itemList": [
|
|
{
|
|
"name": "Installation",
|
|
"id": "installation",
|
|
"description": "Installing Nx",
|
|
"itemList": [
|
|
{
|
|
"name": "Activate Powerpack",
|
|
"id": "activate-powerpack",
|
|
"tags": ["installation"],
|
|
"file": "shared/recipes/installation/activate-powerpack"
|
|
},
|
|
{
|
|
"name": "Install Nx in a Non-Javascript Repo",
|
|
"id": "install-non-javascript",
|
|
"tags": ["installation"],
|
|
"file": "shared/recipes/installation/install-non-javascript"
|
|
},
|
|
{
|
|
"name": "Update Your Global Nx Installation",
|
|
"id": "update-global-installation",
|
|
"tags": ["installation"],
|
|
"file": "shared/recipes/installation/update-global-installation"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Tasks & Caching",
|
|
"id": "running-tasks",
|
|
"description": "A series of recipes that show how to run tasks efficiently with Nx",
|
|
"itemList": [
|
|
{
|
|
"name": "Configure Inputs for Task Caching",
|
|
"id": "configure-inputs",
|
|
"tags": ["run-tasks", "cache-task-results"],
|
|
"file": "shared/recipes/running-tasks/configure-inputs"
|
|
},
|
|
{
|
|
"name": "Configure Outputs for Task Caching",
|
|
"id": "configure-outputs",
|
|
"tags": ["run-tasks", "cache-task-results"],
|
|
"file": "shared/recipes/running-tasks/configure-outputs"
|
|
},
|
|
{
|
|
"name": "Define a Task Pipeline",
|
|
"id": "defining-task-pipeline",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/recipes/running-tasks/defining-task-pipeline"
|
|
},
|
|
{
|
|
"name": "Run Custom Commands",
|
|
"id": "run-commands-executor",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/recipes/running-tasks/running-custom-commands"
|
|
},
|
|
{
|
|
"name": "Pass Args to Commands",
|
|
"id": "pass-args-to-commands",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/recipes/running-tasks/pass-args-to-commands"
|
|
},
|
|
{
|
|
"name": "Run Tasks in Parallel",
|
|
"id": "run-tasks-in-parallel",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/recipes/running-tasks/run-tasks-in-parallel"
|
|
},
|
|
{
|
|
"name": "Run Root-Level NPM Scripts with Nx",
|
|
"id": "root-level-scripts",
|
|
"tags": ["run-tasks"],
|
|
"file": "shared/recipes/running-tasks/root-level-scripts"
|
|
},
|
|
{
|
|
"name": "Workspace Watching",
|
|
"id": "workspace-watching",
|
|
"tags": ["run-tasks", "workspace-watching"],
|
|
"file": "shared/recipes/running-tasks/workspace-watching"
|
|
},
|
|
{
|
|
"name": "Reduce Repetitive Configuration",
|
|
"id": "reduce-repetitive-configuration",
|
|
"tags": [],
|
|
"file": "shared/recipes/running-tasks/reduce-repetitive-configuration"
|
|
},
|
|
{
|
|
"name": "Change Cache Location",
|
|
"id": "change-cache-location",
|
|
"file": "shared/recipes/running-tasks/change-cache-location"
|
|
},
|
|
{
|
|
"name": "Skip Task Caching",
|
|
"id": "skipping-cache",
|
|
"file": "shared/recipes/running-tasks/skipping-cache"
|
|
},
|
|
{
|
|
"name": "Migrate to Inferred Tasks (Project Crystal)",
|
|
"id": "convert-to-inferred",
|
|
"tags": ["inferred-tasks", "automate-updating-dependencies"],
|
|
"file": "shared/recipes/running-tasks/convert-to-inferred"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Adopting Nx",
|
|
"id": "adopting-nx",
|
|
"description": "Adopting Nx incrementally, on existing project or from scratch.",
|
|
"itemList": [
|
|
{
|
|
"name": "NPM/Yarn/PNPM workspaces",
|
|
"id": "adding-to-monorepo",
|
|
"file": "shared/migration/adding-to-monorepo"
|
|
},
|
|
{
|
|
"name": "Migrate From Turborepo",
|
|
"id": "from-turborepo",
|
|
"file": "shared/migration/from-turborepo"
|
|
},
|
|
{
|
|
"name": "Add to any Project",
|
|
"id": "adding-to-existing-project",
|
|
"file": "shared/migration/adding-to-existing-project"
|
|
},
|
|
{
|
|
"name": "Import an Existing Project into an Nx Workspace",
|
|
"id": "import-project",
|
|
"file": "shared/migration/import-project"
|
|
},
|
|
{
|
|
"name": "Preserving Git Histories",
|
|
"id": "preserving-git-histories",
|
|
"file": "shared/migration/preserving-git-histories"
|
|
},
|
|
{
|
|
"name": "Manual migration",
|
|
"id": "manual",
|
|
"file": "shared/migration/manual"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "React",
|
|
"id": "react",
|
|
"description": "Advanced guides to adopt Nx in React.",
|
|
"itemList": [
|
|
{
|
|
"name": "React Native with Nx",
|
|
"id": "react-native",
|
|
"file": "shared/guides/react-native"
|
|
},
|
|
{
|
|
"name": "Remix with Nx",
|
|
"id": "remix",
|
|
"file": "shared/guides/remix"
|
|
},
|
|
{
|
|
"name": "Use Environment Variables in React",
|
|
"id": "use-environment-variables-in-react",
|
|
"tags": ["environment-variables"],
|
|
"file": "shared/guides/use-environment-variables-in-react"
|
|
},
|
|
{
|
|
"name": "Using Tailwind CSS in React",
|
|
"id": "using-tailwind-css-in-react",
|
|
"file": "shared/guides/using-tailwind-css-in-react"
|
|
},
|
|
{
|
|
"name": "Adding Images, Fonts, and Files",
|
|
"id": "adding-assets-react",
|
|
"file": "shared/guides/adding-assets"
|
|
},
|
|
{
|
|
"name": "Setup Module Federation with SSR for React",
|
|
"id": "module-federation-with-ssr",
|
|
"tags": ["module-federation", "react"],
|
|
"file": "shared/recipes/module-federation-with-ssr"
|
|
},
|
|
{
|
|
"name": "Deploying Next.js applications to Vercel",
|
|
"id": "deploy-nextjs-to-vercel",
|
|
"file": "shared/recipes/deployment/deploy-nextjs-to-vercel"
|
|
},
|
|
{
|
|
"name": "React Compiler with Nx",
|
|
"id": "react-compiler",
|
|
"file": "shared/guides/react-compiler"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Angular",
|
|
"id": "angular",
|
|
"description": "Advanced guides to adopt Nx in Angular.",
|
|
"itemList": [
|
|
{
|
|
"name": "Migration",
|
|
"id": "migration",
|
|
"itemList": [
|
|
{
|
|
"name": "Migrating from Angular CLI",
|
|
"id": "angular",
|
|
"file": "shared/migration/migration-angular"
|
|
},
|
|
{
|
|
"name": "Migrating From Multiple Angular CLI Repos",
|
|
"id": "angular-multiple",
|
|
"file": "shared/migration/angular-multiple"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Use Environment Variables in Angular",
|
|
"id": "use-environment-variables-in-angular",
|
|
"tags": ["environment-variables"],
|
|
"file": "shared/guides/use-environment-variables-in-angular"
|
|
},
|
|
{
|
|
"name": "Using Tailwind CSS with Angular projects",
|
|
"id": "using-tailwind-css-with-angular-projects",
|
|
"file": "shared/guides/using-tailwind-css-with-angular-projects"
|
|
},
|
|
{
|
|
"name": "Setup Module Federation with SSR for Angular",
|
|
"id": "module-federation-with-ssr",
|
|
"tags": ["module-federation", "angular"],
|
|
"file": "shared/recipes/module-federation-with-ssr"
|
|
},
|
|
{
|
|
"name": "Advanced Micro Frontends with Angular using Dynamic Federation",
|
|
"id": "dynamic-module-federation-with-angular",
|
|
"tags": ["module-federation", "angular"],
|
|
"file": "shared/recipes/module-federation/dynamic-mfe-angular"
|
|
},
|
|
{
|
|
"name": "Setup incremental builds for Angular applications",
|
|
"id": "setup-incremental-builds-angular",
|
|
"file": "shared/guides/setup-incremental-builds-angular"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Node",
|
|
"id": "node",
|
|
"description": "Set of Node related recipes.",
|
|
"itemList": [
|
|
{
|
|
"name": "Deploying a Node App to Fly.io",
|
|
"id": "node-server-fly-io",
|
|
"tags": ["deployment", "node"],
|
|
"file": "shared/recipes/deployment/node-server-fly-io"
|
|
},
|
|
{
|
|
"name": "Add and Deploy Netlify Edge Functions with Node",
|
|
"id": "node-serverless-functions-netlify",
|
|
"tags": ["deployment", "node"],
|
|
"file": "shared/recipes/deployment/node-serverless-functions-netlify"
|
|
},
|
|
{
|
|
"name": "Deploying AWS lambda in Node.js (deprecated)",
|
|
"id": "node-aws-lambda",
|
|
"tags": ["deployment", "node"],
|
|
"file": "shared/recipes/deployment/node-aws-lambda"
|
|
},
|
|
{
|
|
"name": "Set Up Application Proxies",
|
|
"id": "application-proxies",
|
|
"tags": ["node"],
|
|
"file": "shared/recipes/node/application-proxies"
|
|
},
|
|
{
|
|
"name": "Wait for Tasks to Finish",
|
|
"id": "wait-for-tasks",
|
|
"tags": [],
|
|
"file": "shared/recipes/node/wait-for-tasks"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Storybook",
|
|
"id": "storybook",
|
|
"description": "Storybook strategies and setups.",
|
|
"itemList": [
|
|
{
|
|
"name": "Set up Storybook for React Projects",
|
|
"id": "overview-react",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to set up Storybook for React projects in your Nx workspace.",
|
|
"file": "shared/recipes/storybook/plugin-react"
|
|
},
|
|
{
|
|
"name": "Set up Storybook for Angular Projects",
|
|
"id": "overview-angular",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to set up Storybook for Angular projects in your Nx workspace.",
|
|
"file": "shared/recipes/storybook/plugin-angular"
|
|
},
|
|
{
|
|
"name": "Set up Storybook for Vue Projects",
|
|
"id": "overview-vue",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to set up Storybook for Vue projects in your Nx workspace.",
|
|
"file": "shared/recipes/storybook/plugin-vue"
|
|
},
|
|
{
|
|
"name": "Configuring Storybook on Nx",
|
|
"id": "configuring-storybook",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how Storybook is configured on your Nx workspace.",
|
|
"file": "shared/recipes/storybook/configuring-storybook"
|
|
},
|
|
{
|
|
"name": "One main Storybook instance for all projects",
|
|
"id": "one-storybook-for-all",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to consolidate all your Storybook stories from different projects into one unified Storybook instance. Ideal for Nx workspaces leveraging a single framework.",
|
|
"file": "shared/recipes/storybook/one-storybook-for-all"
|
|
},
|
|
{
|
|
"name": "One Storybook instance per scope",
|
|
"id": "one-storybook-per-scope",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to set up individual Storybook instances for each scope within an Nx workspace. It provides a structured approach, emphasizing folder organization and thematic scope separation.",
|
|
"file": "shared/recipes/storybook/one-storybook-per-scope"
|
|
},
|
|
{
|
|
"name": "One main Storybook instance using Storybook Composition",
|
|
"id": "one-storybook-with-composition",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to publish a unified Storybook instance from multiple frameworks within an Nx workspace using Storybook Composition.",
|
|
"file": "shared/recipes/storybook/one-storybook-with-composition"
|
|
},
|
|
{
|
|
"name": "How to configure Webpack and Vite for Storybook",
|
|
"id": "custom-builder-configs",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to customize the webpack configuration and your vite configuration for Storybook.",
|
|
"file": "shared/recipes/storybook/custom-builder-configs"
|
|
},
|
|
{
|
|
"name": "Setting up Storybook Interaction Tests with Nx",
|
|
"id": "storybook-interaction-tests",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how you can set up Storybook interaction tests on your Nx workspace.",
|
|
"file": "shared/recipes/storybook/interaction-tests"
|
|
},
|
|
{
|
|
"name": "Upgrading Storybook using the Storybook CLI",
|
|
"id": "upgrading-storybook",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how you can upgrade Storybook using the Storybook CLI upgrade and automigrate commands.",
|
|
"file": "shared/recipes/storybook/upgrading-storybook"
|
|
},
|
|
{
|
|
"name": "Setting up Storybook Composition with Nx",
|
|
"id": "storybook-composition-setup",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how you can set up Storybook composition on your Nx workspace.",
|
|
"file": "shared/recipes/storybook/storybook-composition-setup"
|
|
},
|
|
{
|
|
"name": "Angular: Set up Compodoc for Storybook on Nx",
|
|
"id": "angular-storybook-compodoc",
|
|
"tags": ["storybook"],
|
|
"description": "This guide explains how to set up Compodoc for Storybook on Angular projects in a Nx workspace.",
|
|
"file": "shared/recipes/storybook/angular-storybook-compodoc"
|
|
},
|
|
{
|
|
"name": "Angular: Configuring styles and preprocessor options",
|
|
"id": "angular-configuring-styles",
|
|
"tags": ["storybook"],
|
|
"description": "This document explains how to configure styles and preprocessor options in Angular projects with a Storybook configuration.",
|
|
"file": "shared/recipes/storybook/angular-configuring-styles"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Cypress",
|
|
"id": "cypress",
|
|
"description": "Cypress related recipes",
|
|
"itemList": [
|
|
{
|
|
"id": "cypress-component-testing",
|
|
"name": "Component Testing",
|
|
"description": "Component Testing",
|
|
"file": "shared/packages/cypress/cypress-component-testing"
|
|
},
|
|
{
|
|
"id": "cypress-setup-node-events",
|
|
"name": "Using setupNodeEvents with Cypress preset",
|
|
"description": "A guide on using the setupNodeEvents function with @nx/cypress/plugins/cypress-preset",
|
|
"file": "shared/packages/cypress/cypress-setup-node-events"
|
|
},
|
|
{
|
|
"id": "cypress-v11-migration",
|
|
"name": "Cypress v11 Migration Guide",
|
|
"description": "Cypress v11 Migration Guide",
|
|
"file": "shared/packages/cypress/cypress-v11-migration"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Next",
|
|
"id": "next",
|
|
"description": "Next related recipes",
|
|
"itemList": [
|
|
{
|
|
"id": "next-config-setup",
|
|
"name": "How to configure Next.js plugins",
|
|
"description": "How to configure Next.js plugins",
|
|
"file": "shared/packages/next/next-config-setup"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nuxt",
|
|
"id": "nuxt",
|
|
"description": "Nuxt related recipes",
|
|
"itemList": [
|
|
{
|
|
"id": "deploy-nuxt-to-vercel",
|
|
"name": "Deploying Nuxt applications to Vercel",
|
|
"description": "A detailed guide on how to deploy Nuxt applications from Nx workspaces to Vercel.",
|
|
"file": "shared/recipes/deployment/deploy-nuxt-to-vercel"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Vite",
|
|
"id": "vite",
|
|
"description": "Vite related recipes",
|
|
"itemList": [
|
|
{
|
|
"id": "configure-vite",
|
|
"name": "Configure Vite on your Nx workspace",
|
|
"description": "Configure Vite on your Nx workspace",
|
|
"file": "shared/packages/vite/configure-vite"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Webpack",
|
|
"id": "webpack",
|
|
"description": "Webpack related recipes",
|
|
"itemList": [
|
|
{
|
|
"id": "webpack-config-setup",
|
|
"name": "How to configure Webpack in your Nx workspace",
|
|
"description": "A guide on how to configure webpack on your Nx workspace, and instructions on how to customize your webpack configuration",
|
|
"file": "shared/packages/webpack/webpack-config-setup"
|
|
},
|
|
{
|
|
"id": "webpack-plugins",
|
|
"name": "Webpack plugins",
|
|
"description": "Webpack plugins",
|
|
"file": "shared/packages/webpack/webpack-plugins"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Module Federation",
|
|
"id": "module-federation",
|
|
"description": "Advanced guides to utilize Module Federation with Nx.",
|
|
"itemList": [
|
|
{
|
|
"id": "create-a-host",
|
|
"name": "How to create a Module Federation Host Application",
|
|
"description": "A guide on how to create a Module Federation Host Application in your Nx workspace",
|
|
"file": "shared/recipes/module-federation/creating-a-host"
|
|
},
|
|
{
|
|
"id": "create-a-remote",
|
|
"name": "How to create a Module Federation Remote Application",
|
|
"description": "A guide on how to create a Module Federation Remote Application in your Nx workspace",
|
|
"file": "shared/recipes/module-federation/creating-a-remote"
|
|
},
|
|
{
|
|
"id": "federate-a-module",
|
|
"name": "How to Federate a Module",
|
|
"description": "A guide on how to federate a module in your Nx workspace",
|
|
"file": "shared/recipes/module-federation/federate-a-module"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Enforce Module Boundaries",
|
|
"id": "enforce-module-boundaries",
|
|
"description": "Configuring the enforce module boundaries rule",
|
|
"itemList": [
|
|
{
|
|
"name": "Ban Dependencies with Certain Tags",
|
|
"id": "ban-dependencies-with-tags",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/recipes/ban-dependencies-with-tags"
|
|
},
|
|
{
|
|
"name": "Tag in Multiple Dimensions",
|
|
"id": "tag-multiple-dimensions",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/recipes/tag-multiple-dimensions"
|
|
},
|
|
{
|
|
"name": "Ban External Imports",
|
|
"id": "ban-external-imports",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/recipes/ban-external-imports"
|
|
},
|
|
{
|
|
"name": "Tags Allow List",
|
|
"id": "tags-allow-list",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/recipes/tags-allow-list"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Tips and tricks",
|
|
"id": "tips-n-tricks",
|
|
"description": "Various tips and tricks for using Nx.",
|
|
"itemList": [
|
|
{
|
|
"name": "Convert from a Standalone Repository to a Monorepo",
|
|
"id": "standalone-to-monorepo",
|
|
"file": "shared/recipes/tips-n-tricks/standalone-to-monorepo"
|
|
},
|
|
{
|
|
"name": "Configuring ESLint with Typescript",
|
|
"id": "eslint",
|
|
"file": "shared/eslint"
|
|
},
|
|
{
|
|
"name": "Enable Typescript Batch Mode",
|
|
"id": "enable-tsc-batch-mode",
|
|
"file": "shared/recipes/enable-tsc-batch-mode"
|
|
},
|
|
{
|
|
"name": "Define Secondary Entrypoints for Typescript Packages",
|
|
"id": "define-secondary-entrypoints",
|
|
"file": "shared/recipes/tips-n-tricks/define-secondary-entrypoints"
|
|
},
|
|
{
|
|
"name": "Compile Typescript Packages to Multiple Formats",
|
|
"id": "compile-multiple-formats",
|
|
"file": "shared/recipes/tips-n-tricks/compile-multiple-formats"
|
|
},
|
|
{
|
|
"name": "Keep Nx Versions in Sync",
|
|
"id": "keep-nx-versions-in-sync",
|
|
"tags": ["automate-updating-dependencies"],
|
|
"file": "shared/recipes/tips-n-tricks/keep-nx-versions-in-sync"
|
|
},
|
|
{
|
|
"name": "Define Environment Variables",
|
|
"id": "define-environment-variables",
|
|
"tags": ["environment-variables"],
|
|
"file": "shared/guides/define-environment-variables"
|
|
},
|
|
{
|
|
"name": "Configuring Browser Support",
|
|
"id": "browser-support",
|
|
"file": "shared/guides/browser-support"
|
|
},
|
|
{
|
|
"name": "Include Assets in Build",
|
|
"id": "include-assets-in-build",
|
|
"tags": [],
|
|
"file": "shared/recipes/include-assets-in-build"
|
|
},
|
|
{
|
|
"name": "Include All package.json Files as Projects",
|
|
"id": "include-all-packagejson",
|
|
"tags": [],
|
|
"file": "shared/recipes/include-all-packagejson"
|
|
},
|
|
{
|
|
"name": "Identify Dependencies Between Folders",
|
|
"id": "identify-dependencies-between-folders",
|
|
"tags": [],
|
|
"file": "shared/recipes/identify-dependencies-between-folders"
|
|
},
|
|
{
|
|
"name": "Disable Graph Links Created from Analyzing Source Files",
|
|
"id": "analyze-source-files",
|
|
"tags": ["explore-graph"],
|
|
"file": "shared/recipes/analyze-source-files"
|
|
},
|
|
{
|
|
"name": "Use JavaScript instead TypeScript",
|
|
"id": "js-and-ts",
|
|
"file": "shared/guides/js-and-ts"
|
|
},
|
|
{
|
|
"name": "Altering Migration Process",
|
|
"id": "advanced-update",
|
|
"tags": ["automate-updating-dependencies"],
|
|
"file": "shared/recipes/advanced-update"
|
|
},
|
|
{
|
|
"name": "Using Yarn PnP",
|
|
"id": "yarn-pnp",
|
|
"tags": ["yarn", "Plug and Play"],
|
|
"file": "shared/recipes/yarn-pnp"
|
|
},
|
|
{
|
|
"name": "Switching to ESLint's flat config format",
|
|
"id": "flat-config",
|
|
"tags": ["eslint", "flat config"],
|
|
"file": "shared/recipes/tips-n-tricks/migrating-to-flat-eslint"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nx Console",
|
|
"id": "nx-console",
|
|
"description": "Checkout all the recipes related to Nx Console.",
|
|
"itemList": [
|
|
{
|
|
"name": "Telemetry",
|
|
"id": "console-telemetry",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/recipes/console-telemetry"
|
|
},
|
|
{
|
|
"name": "Project Details View",
|
|
"id": "console-project-details",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/recipes/console-project-details"
|
|
},
|
|
{
|
|
"name": "Generate Command",
|
|
"id": "console-generate-command",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/recipes/console-generate-command"
|
|
},
|
|
{
|
|
"name": "Run Command",
|
|
"id": "console-run-command",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/recipes/console-run-command"
|
|
},
|
|
{
|
|
"name": "Troubleshooting",
|
|
"id": "console-troubleshooting",
|
|
"tags": ["editor-setup"],
|
|
"file": "shared/recipes/console-troubleshooting"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nx Release",
|
|
"id": "nx-release",
|
|
"description": "Recipes for releasing with Nx release.",
|
|
"itemList": [
|
|
{
|
|
"name": "Get Started with Nx Release",
|
|
"id": "get-started-with-nx-release",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/get-started-with-nx-release"
|
|
},
|
|
{
|
|
"name": "Release Projects Independently",
|
|
"id": "release-projects-independently",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/release-projects-independently"
|
|
},
|
|
{
|
|
"name": "Automatically Version with Conventional Commits",
|
|
"id": "automatically-version-with-conventional-commits",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/automatically-version-with-conventional-commits"
|
|
},
|
|
{
|
|
"name": "Customize Conventional Commit Types",
|
|
"id": "customize-conventional-commit-types",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/customize-conventional-commit-types"
|
|
},
|
|
{
|
|
"name": "File Based Versioning (Version Plans)",
|
|
"id": "file-based-versioning-version-plans",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/file-based-versioning-version-plans"
|
|
},
|
|
{
|
|
"name": "Configure Custom Registries",
|
|
"id": "configure-custom-registries",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/configure-custom-registries"
|
|
},
|
|
{
|
|
"name": "Publish in CI/CD",
|
|
"id": "publish-in-ci-cd",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/publish-in-ci-cd"
|
|
},
|
|
{
|
|
"name": "Automate GitHub Releases",
|
|
"id": "automate-github-releases",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/automate-github-releases"
|
|
},
|
|
{
|
|
"name": "Publish Rust Crates",
|
|
"id": "publish-rust-crates",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/publish-rust-crates"
|
|
},
|
|
{
|
|
"name": "Update Your Local Registry Setup to use Nx Release",
|
|
"id": "update-local-registry-setup",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/update-local-registry-setup"
|
|
},
|
|
{
|
|
"name": "Configure Changelog Format",
|
|
"id": "configure-changelog-format",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/configure-changelog-format"
|
|
},
|
|
{
|
|
"name": "Publish a Custom Dist Directory",
|
|
"id": "publish-custom-dist-directory",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/publish-custom-dist-directory"
|
|
},
|
|
{
|
|
"name": "Build Before Versioning",
|
|
"id": "build-before-versioning",
|
|
"tags": ["nx-release"],
|
|
"file": "shared/recipes/nx-release/build-before-versioning"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Showcase",
|
|
"id": "showcase",
|
|
"description": "Discover our selection of examples and benchmarks.",
|
|
"itemList": [
|
|
{
|
|
"name": "Nx with your favorite tech",
|
|
"id": "example-repos",
|
|
"description": "Examples of different ways to use Nx with your favorite tech",
|
|
"file": "shared/showcase/example-repos",
|
|
"itemList": [
|
|
{
|
|
"name": "Express",
|
|
"id": "add-express",
|
|
"description": "Add an Express application to your repo",
|
|
"file": "shared/recipes/add-stack/add-express"
|
|
},
|
|
{
|
|
"name": "Lit",
|
|
"id": "add-lit",
|
|
"description": "Lit to your repo",
|
|
"file": "shared/recipes/add-stack/add-lit"
|
|
},
|
|
{
|
|
"name": "Solid",
|
|
"id": "add-solid",
|
|
"description": "Solid to your repo",
|
|
"file": "shared/recipes/add-stack/add-solid"
|
|
},
|
|
{
|
|
"name": "Qwik",
|
|
"id": "add-qwik",
|
|
"description": "Qwik to your repo",
|
|
"file": "shared/recipes/add-stack/add-qwik"
|
|
},
|
|
{
|
|
"name": "Rust",
|
|
"id": "add-rust",
|
|
"description": "Rust to your repo",
|
|
"file": "shared/recipes/add-stack/add-rust"
|
|
},
|
|
{
|
|
"name": ".NET",
|
|
"id": "add-dotnet",
|
|
"description": ".NET to your repo",
|
|
"file": "shared/recipes/add-stack/add-dotnet"
|
|
},
|
|
{
|
|
"name": "Astro",
|
|
"id": "add-astro",
|
|
"description": "Add Nx to an Astro project",
|
|
"file": "shared/recipes/add-stack/add-astro"
|
|
},
|
|
{
|
|
"name": "Svelte",
|
|
"id": "add-svelte",
|
|
"description": "Svelte to your repo",
|
|
"file": "shared/recipes/add-stack/add-svelte"
|
|
},
|
|
{
|
|
"name": "Fastify",
|
|
"id": "add-fastify",
|
|
"description": "Fastify to your repo",
|
|
"file": "shared/recipes/add-stack/add-fastify"
|
|
},
|
|
{
|
|
"name": "Apollo GraphQL",
|
|
"id": "apollo-react",
|
|
"file": "shared/examples/apollo-react"
|
|
},
|
|
{
|
|
"name": "Prisma with NestJS",
|
|
"id": "nestjs-prisma",
|
|
"tags": ["database", "node"],
|
|
"file": "shared/recipes/database/nestjs-prisma"
|
|
},
|
|
{
|
|
"name": "Mongo with Fastify",
|
|
"id": "mongo-fastify",
|
|
"tags": ["database", "node"],
|
|
"file": "shared/recipes/database/mongo-fastify"
|
|
},
|
|
{
|
|
"name": "Redis with Fastify",
|
|
"id": "redis-fastify",
|
|
"tags": ["database", "node"],
|
|
"file": "shared/recipes/database/redis-fastify"
|
|
},
|
|
{
|
|
"name": "Postgres with Fastify",
|
|
"id": "postgres-fastify",
|
|
"tags": ["database", "node"],
|
|
"file": "shared/recipes/database/postgres-fastify"
|
|
},
|
|
{
|
|
"name": "PlanetScale with Serverless Fastify",
|
|
"id": "serverless-fastify-planetscale",
|
|
"tags": ["database", "node", "serverless"],
|
|
"file": "shared/recipes/database/serverless-fastify-planetscale"
|
|
},
|
|
{
|
|
"name": "Nx with Micro-frontends",
|
|
"id": "mfe",
|
|
"file": "shared/examples/nx-examples"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Benchmarks",
|
|
"id": "benchmarks",
|
|
"description": "Benchmarks showing how fast Nx is",
|
|
"itemList": [
|
|
{
|
|
"name": "Typescript Batch Mode Compilation",
|
|
"id": "tsc-batch-mode",
|
|
"file": "shared/examples/tsc-batch-mode"
|
|
},
|
|
{
|
|
"name": "Large Repo and Caching",
|
|
"id": "caching",
|
|
"file": "shared/examples/caching"
|
|
},
|
|
{
|
|
"name": "Large Repo and DTE",
|
|
"id": "dte",
|
|
"file": "shared/examples/dte"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Reference",
|
|
"id": "reference",
|
|
"description": "Understand how to use Nx functionalities, what arguments and options are available for each component.",
|
|
"itemList": [
|
|
{
|
|
"name": "Commands",
|
|
"id": "nx-commands",
|
|
"file": "shared/reference/commands"
|
|
},
|
|
{
|
|
"name": "Nx Configuration",
|
|
"id": "nx-json",
|
|
"file": "shared/reference/nx-json"
|
|
},
|
|
{
|
|
"name": "Project Configuration",
|
|
"id": "project-configuration",
|
|
"tags": [],
|
|
"file": "shared/reference/project-configuration"
|
|
},
|
|
{
|
|
"name": "Inputs and Named Inputs",
|
|
"id": "inputs",
|
|
"tags": ["cache-task-results"],
|
|
"file": "shared/reference/inputs"
|
|
},
|
|
{
|
|
"name": ".nxignore",
|
|
"id": "nxignore",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "shared/reference/nxignore"
|
|
},
|
|
{
|
|
"name": "Environment Variables",
|
|
"id": "environment-variables",
|
|
"tags": ["environment-variables"],
|
|
"file": "shared/reference/environment-variables"
|
|
},
|
|
{
|
|
"name": "Glossary",
|
|
"id": "glossary",
|
|
"tags": [],
|
|
"file": "shared/reference/glossary"
|
|
},
|
|
{
|
|
"name": "Releases",
|
|
"id": "releases",
|
|
"tags": [],
|
|
"file": "shared/reference/releases"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Troubleshooting",
|
|
"id": "troubleshooting",
|
|
"description": "Learn how to troubleshoot common problems.",
|
|
"itemList": [
|
|
{
|
|
"name": "Resolve Circular Dependencies",
|
|
"id": "resolve-circular-dependencies",
|
|
"tags": ["explore-graph"],
|
|
"file": "shared/recipes/resolve-circular-dependencies"
|
|
},
|
|
{
|
|
"name": "Troubleshoot Nx Install Issues",
|
|
"id": "troubleshoot-nx-install-issues",
|
|
"file": "shared/installation/troubleshoot-installation"
|
|
},
|
|
{
|
|
"name": "Troubleshoot Cache Misses",
|
|
"id": "troubleshoot-cache-misses",
|
|
"tags": ["cache-task-results"],
|
|
"file": "shared/recipes/troubleshoot-cache-misses"
|
|
},
|
|
{
|
|
"name": "Unknown Local Cache Error",
|
|
"id": "unknown-local-cache",
|
|
"tags": [],
|
|
"file": "shared/guides/unknown-local-cache"
|
|
},
|
|
{
|
|
"name": "Profiling Build Performance",
|
|
"id": "performance-profiling",
|
|
"tags": ["environment-variables"],
|
|
"file": "shared/guides/performance-profiling"
|
|
},
|
|
{
|
|
"name": "Troubleshoot Nx Console Issues",
|
|
"id": "console-troubleshooting",
|
|
"path": "/recipes/nx-console/console-troubleshooting",
|
|
"file": "shared/recipes/console-troubleshooting"
|
|
},
|
|
{
|
|
"name": "Troubleshoot Convert to Inferred Migration",
|
|
"id": "convert-to-inferred",
|
|
"tags": [],
|
|
"file": "shared/guides/troubleshoot-convert-to-inferred"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Deprecated",
|
|
"id": "deprecated",
|
|
"description": "Functionality that has been superseded in the current version of Nx. Listed here for those running older versions.",
|
|
"itemList": [
|
|
{
|
|
"name": "affected:graph",
|
|
"id": "affected-graph",
|
|
"file": "shared/deprecated/affected-graph"
|
|
},
|
|
{
|
|
"name": "print-affected",
|
|
"id": "print-affected",
|
|
"file": "shared/deprecated/print-affected"
|
|
},
|
|
{
|
|
"name": "workspace.json",
|
|
"id": "workspace-json",
|
|
"file": "shared/deprecated/workspace-json"
|
|
},
|
|
{
|
|
"name": "As Provided vs. Derived",
|
|
"id": "as-provided-vs-derived",
|
|
"file": "shared/deprecated/as-provided-vs-derived"
|
|
},
|
|
{
|
|
"name": "Workspace Generators",
|
|
"id": "workspace-generators",
|
|
"file": "shared/deprecated/workspace-generators"
|
|
},
|
|
{
|
|
"name": "Custom Task Runners",
|
|
"id": "custom-task-runners",
|
|
"file": "shared/deprecated/custom-task-runners"
|
|
},
|
|
{
|
|
"name": "Workspace Executors",
|
|
"id": "workspace-executors",
|
|
"file": "shared/deprecated/workspace-executors"
|
|
},
|
|
{
|
|
"name": "runtimeCacheInputs",
|
|
"id": "runtime-cache-inputs",
|
|
"file": "shared/deprecated/runtime-cache-inputs"
|
|
},
|
|
{
|
|
"name": "cacheableOperations",
|
|
"id": "cacheable-operations",
|
|
"file": "shared/deprecated/cacheable-operations"
|
|
},
|
|
{
|
|
"name": "npmScope",
|
|
"id": "npm-scope",
|
|
"file": "shared/deprecated/npm-scope"
|
|
},
|
|
{
|
|
"name": "globalImplicitDependencies",
|
|
"id": "global-implicit-dependencies",
|
|
"file": "shared/deprecated/global-implicit-dependencies"
|
|
},
|
|
{
|
|
"name": "Angular Schematics and Builders",
|
|
"id": "angular-schematics-builders",
|
|
"file": "shared/deprecated/angular-schematics-builders"
|
|
},
|
|
{
|
|
"name": "v1 Nx Plugin API",
|
|
"id": "v1-nx-plugin-api",
|
|
"file": "shared/deprecated/v1-nx-plugin-api"
|
|
},
|
|
{
|
|
"name": "Rescope Packages from @nrwl to @nx",
|
|
"id": "rescope",
|
|
"file": "shared/deprecated/rescope"
|
|
},
|
|
{
|
|
"name": "Integrated Repos vs. Package-Based Repos vs. Standalone Apps",
|
|
"id": "integrated-vs-package-based",
|
|
"file": "shared/deprecated/integrated-vs-package-based"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "See Also",
|
|
"id": "see-also",
|
|
"description": "Links to other pieces of documentation",
|
|
"itemList": [
|
|
{
|
|
"name": "CI Documentation",
|
|
"id": "ci",
|
|
"file": "",
|
|
"tags": ["cache-task-results", "distribute-task-execution"],
|
|
"path": "/ci/intro/ci-with-nx",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Nx Cloud Main Site",
|
|
"id": "nx-cloud-main-site",
|
|
"file": "",
|
|
"tags": ["cache-task-results", "distribute-task-execution"],
|
|
"path": "https://nx.app",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "--skip-nx-cache flag",
|
|
"id": "skip-nx-cache-flag",
|
|
"file": "",
|
|
"tags": ["cache-task-results"],
|
|
"path": "/nx-api/nx/documents/affected#skip-nx-cache",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "tasks-runner-options property",
|
|
"id": "tasks-runner-options-property",
|
|
"file": "",
|
|
"tags": ["cache-task-results"],
|
|
"path": "/reference/nx-json#tasks-runner-options",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "nx.json reference: inputs and namedInputs",
|
|
"id": "nxjson-inputs",
|
|
"file": "",
|
|
"tags": ["cache-task-results"],
|
|
"path": "/reference/nx-json#inputs-namedinputs",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Project Configuration reference: inputs and namedInputs",
|
|
"id": "project-config-inputs",
|
|
"file": "",
|
|
"tags": ["cache-task-results"],
|
|
"path": "/reference/project-configuration#inputs-and-namedinputs",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "nx.json generator defaults",
|
|
"id": "nxjson-generator-defaults",
|
|
"file": "",
|
|
"tags": ["generate-code"],
|
|
"path": "/reference/nx-json#generators",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "Site Map",
|
|
"id": "sitemap",
|
|
"tags": [],
|
|
"file": "shared/reference/sitemap"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Extending Nx",
|
|
"id": "extending-nx",
|
|
"description": "Learn more about creating your own plugin, extending Nx.",
|
|
"itemList": [
|
|
{
|
|
"name": "Intro",
|
|
"id": "intro",
|
|
"description": "Learn about plugins.",
|
|
"itemList": [
|
|
{
|
|
"name": "Extending Nx with Plugins",
|
|
"id": "getting-started",
|
|
"description": "Learn how to extend Nx by creating and releasing your own Nx plugin.",
|
|
"file": "shared/plugins/intro"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Tutorials",
|
|
"id": "tutorials",
|
|
"description": "Get started with plugins",
|
|
"itemList": [
|
|
{
|
|
"name": "Enforce Organizational Best Practices",
|
|
"id": "organization-specific-plugin",
|
|
"file": "shared/plugins/organization-specific-plugin"
|
|
},
|
|
{
|
|
"name": "Create a Tooling Plugin",
|
|
"id": "tooling-plugin",
|
|
"file": "shared/plugins/tooling-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Recipes",
|
|
"id": "recipes",
|
|
"description": "Focused instructions to complete a specific task",
|
|
"itemList": [
|
|
{
|
|
"name": "Write a Simple Generator",
|
|
"id": "local-generators",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/local-generators"
|
|
},
|
|
{
|
|
"name": "Compose Generators",
|
|
"id": "composing-generators",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/composing-generators"
|
|
},
|
|
{
|
|
"name": "Provide Options for Generators",
|
|
"id": "generator-options",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/generator-options"
|
|
},
|
|
{
|
|
"name": "Create Files",
|
|
"id": "creating-files",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/creating-files"
|
|
},
|
|
{
|
|
"name": "Modify Files",
|
|
"id": "modifying-files",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/modifying-files"
|
|
},
|
|
{
|
|
"name": "Create a Sync Generator",
|
|
"id": "create-sync-generator",
|
|
"tags": ["generate-code"],
|
|
"file": "shared/recipes/generators/create-sync-generator"
|
|
},
|
|
{
|
|
"name": "Write a Migration",
|
|
"id": "migration-generators",
|
|
"tags": ["create-your-own-plugin"],
|
|
"file": "shared/recipes/plugins/migration-generators"
|
|
},
|
|
{
|
|
"name": "Write a Simple Executor",
|
|
"id": "local-executors",
|
|
"tags": [],
|
|
"file": "shared/recipes/plugins/local-executors"
|
|
},
|
|
{
|
|
"name": "Compose Executors",
|
|
"id": "compose-executors",
|
|
"tags": [],
|
|
"file": "shared/recipes/plugins/compose-executors"
|
|
},
|
|
{
|
|
"name": "Create a Preset",
|
|
"id": "create-preset",
|
|
"tags": ["create-your-own-plugin"],
|
|
"file": "shared/recipes/plugins/create-preset"
|
|
},
|
|
{
|
|
"name": "Create an Install Package",
|
|
"id": "create-install-package",
|
|
"tags": ["create-your-own-plugin"],
|
|
"file": "shared/recipes/plugins/create-install-package"
|
|
},
|
|
{
|
|
"name": "Infer Tasks or Projects",
|
|
"id": "project-graph-plugins",
|
|
"tags": [
|
|
"create-your-own-plugin",
|
|
"explore-graph",
|
|
"inferred-tasks"
|
|
],
|
|
"file": "shared/recipes/plugins/project-graph-plugins"
|
|
},
|
|
{
|
|
"name": "Publish a Plugin",
|
|
"id": "publish-plugin",
|
|
"tags": ["create-your-own-plugin"],
|
|
"file": "shared/recipes/plugins/publish-plugin"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "CI",
|
|
"id": "ci",
|
|
"description": "Learn how to enable Distributed Tasks Executions, remote caching and more.",
|
|
"itemList": [
|
|
{
|
|
"name": "Intro",
|
|
"id": "intro",
|
|
"description": "Learn about basic Nx Cloud knowledge.",
|
|
"itemList": [
|
|
{
|
|
"name": "CI with Nx",
|
|
"id": "ci-with-nx",
|
|
"file": "nx-cloud/intro/ci-with-nx"
|
|
},
|
|
{
|
|
"name": "Why Nx Cloud?",
|
|
"id": "why-nx-cloud",
|
|
"file": "nx-cloud/intro/why-nx-cloud"
|
|
},
|
|
{
|
|
"name": "Connect to Nx Cloud",
|
|
"id": "connect-to-nx-cloud",
|
|
"file": "nx-cloud/intro/connect-to-cloud"
|
|
},
|
|
{
|
|
"name": "Tutorials",
|
|
"id": "tutorials",
|
|
"description": "Tutorials setting up CI with Nx",
|
|
"itemList": [
|
|
{
|
|
"name": "Circle CI with Nx",
|
|
"id": "circle",
|
|
"file": "nx-cloud/tutorial/circle"
|
|
},
|
|
{
|
|
"name": "GitHub Actions with Nx",
|
|
"id": "github-actions",
|
|
"file": "nx-cloud/tutorial/github-actions"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Features",
|
|
"id": "features",
|
|
"description": "Features of Nx and Nx Cloud that improve CI",
|
|
"itemList": [
|
|
{
|
|
"name": "Run Only Tasks Affected by a PR",
|
|
"description": "This allows to only run tasks on projects that got changed in a given PR.",
|
|
"tags": ["run-tasks"],
|
|
"id": "affected",
|
|
"file": "shared/using-nx/affected"
|
|
},
|
|
{
|
|
"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.",
|
|
"id": "remote-cache",
|
|
"tags": ["remote-cache"],
|
|
"file": "shared/features/remote-cache"
|
|
},
|
|
{
|
|
"name": "Distribute Task Execution (Nx Agents)",
|
|
"id": "distribute-task-execution",
|
|
"description": "Learn how to efficiently distribute tasks across machines to take full advantage of parallelization. Nx Agents make this a trivial task.",
|
|
"file": "shared/features/distribute-task-execution"
|
|
},
|
|
{
|
|
"name": "Automatically Split E2E Tasks (Atomizer)",
|
|
"id": "split-e2e-tasks",
|
|
"description": "Learn how Nx can automatically split e2e tests into fine-grained chunks for a much better distribution on Nx Agents.",
|
|
"file": "nx-cloud/features/split-e2e-tasks"
|
|
},
|
|
{
|
|
"name": "Identify and Re-run Flaky Tasks",
|
|
"id": "flaky-tasks",
|
|
"description": "Learn how Nx Cloud is able to automatically identify flaky tasks and re-run them for you.",
|
|
"file": "nx-cloud/features/flaky-tasks"
|
|
},
|
|
{
|
|
"name": "Dynamically Allocate Agents",
|
|
"description": "Learn how to dynamically allocate agents based on the size of a PR, keeping the balance of speed and cost.",
|
|
"id": "dynamic-agents",
|
|
"file": "nx-cloud/features/dynamic-agents"
|
|
},
|
|
{
|
|
"name": "Explain With AI",
|
|
"id": "explain-with-ai",
|
|
"file": "nx-cloud/features/explain-with-ai"
|
|
},
|
|
{
|
|
"name": "GitHub Integration",
|
|
"id": "github-integration",
|
|
"file": "nx-cloud/features/github-integration"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Concepts",
|
|
"id": "concepts",
|
|
"description": "Learn how to manage Nx Cloud subscriptions and other options.",
|
|
"itemList": [
|
|
{
|
|
"name": "The Building Blocks of Fast CI",
|
|
"tags": [],
|
|
"id": "building-blocks-fast-ci",
|
|
"file": "nx-cloud/concepts/building-blocks-fast-ci"
|
|
},
|
|
{
|
|
"name": "Reduce Wasted Time in CI",
|
|
"tags": [],
|
|
"id": "reduce-waste",
|
|
"file": "nx-cloud/concepts/reduce-waste"
|
|
},
|
|
{
|
|
"name": "Parallelization and Distribution",
|
|
"tags": ["distribute-task-execution"],
|
|
"id": "parallelization-distribution",
|
|
"file": "nx-cloud/concepts/parallelization-distribution"
|
|
},
|
|
{
|
|
"name": "Cache Security",
|
|
"id": "cache-security",
|
|
"file": "nx-cloud/concepts/cache-security"
|
|
},
|
|
{
|
|
"name": "Nx Cloud AI",
|
|
"id": "nx-cloud-ai",
|
|
"description": "Learn how to enable AI features in Nx Cloud, and what features it enables",
|
|
"file": "nx-cloud/concepts/ai-features"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Recipes",
|
|
"id": "recipes",
|
|
"description": "Learn how to set up Nx Cloud for your workspace.",
|
|
"itemList": [
|
|
{
|
|
"name": "Set Up CI",
|
|
"id": "set-up",
|
|
"description": "Learn how to set up Nx Cloud for your workspace.",
|
|
"tags": ["distribute-task-execution"],
|
|
"itemList": [
|
|
{
|
|
"name": "Setting up Azure Pipelines",
|
|
"id": "monorepo-ci-azure",
|
|
"file": "shared/monorepo-ci-azure"
|
|
},
|
|
{
|
|
"name": "Setting up CircleCI",
|
|
"id": "monorepo-ci-circle-ci",
|
|
"file": "shared/monorepo-ci-circle-ci"
|
|
},
|
|
{
|
|
"name": "Setting up GitHub Actions",
|
|
"id": "monorepo-ci-github-actions",
|
|
"file": "shared/monorepo-ci-github-actions"
|
|
},
|
|
{
|
|
"name": "Setting up Jenkins",
|
|
"id": "monorepo-ci-jenkins",
|
|
"file": "shared/monorepo-ci-jenkins"
|
|
},
|
|
{
|
|
"name": "Setting up GitLab",
|
|
"id": "monorepo-ci-gitlab",
|
|
"file": "shared/monorepo-ci-gitlab"
|
|
},
|
|
{
|
|
"name": "Setting up Bitbucket",
|
|
"id": "monorepo-ci-bitbucket-pipelines",
|
|
"file": "shared/monorepo-ci-bitbucket-pipelines"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Security",
|
|
"id": "security",
|
|
"description": "Manage access to Nx Cloud",
|
|
"itemList": [
|
|
{
|
|
"name": "Authenticate with Google Identity",
|
|
"id": "google-auth",
|
|
"file": "nx-cloud/recipes/google-auth"
|
|
},
|
|
{
|
|
"name": "CI Access Tokens",
|
|
"id": "access-tokens",
|
|
"file": "nx-cloud/recipes/access-tokens"
|
|
},
|
|
{
|
|
"name": "Personal Access Tokens",
|
|
"id": "personal-access-tokens",
|
|
"file": "nx-cloud/recipes/personal-access-tokens"
|
|
},
|
|
{
|
|
"name": "Enable End to End Encryption",
|
|
"id": "encryption",
|
|
"file": "nx-cloud/recipes/encryption"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Source Control Integration",
|
|
"id": "source-control-integration",
|
|
"description": "Show Nx Cloud results directly in your pull request",
|
|
"itemList": [
|
|
{
|
|
"name": "Enable GitHub PR Integration",
|
|
"id": "github",
|
|
"file": "nx-cloud/set-up/github"
|
|
},
|
|
{
|
|
"name": "Enable Bitbucket PR Integration",
|
|
"id": "bitbucket",
|
|
"file": "nx-cloud/set-up/bitbucket"
|
|
},
|
|
{
|
|
"name": "Enable GitLab MR Integration",
|
|
"id": "gitlab",
|
|
"file": "nx-cloud/set-up/gitlab"
|
|
},
|
|
{
|
|
"name": "Enable Azure DevOps PR Integration",
|
|
"id": "azure-devops",
|
|
"file": "nx-cloud/set-up/azure-devops"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Enterprise",
|
|
"id": "enterprise",
|
|
"description": "Recipes for enterprise accounts",
|
|
"itemList": [
|
|
{
|
|
"name": "On-Premise",
|
|
"id": "on-premise",
|
|
"description": "Manage an on-premise installation of Nx Cloud",
|
|
"itemList": [
|
|
{
|
|
"name": "Set up Nx Cloud On-Premise",
|
|
"description": "Set up Nx Cloud on machines that you control",
|
|
"id": "on-premise",
|
|
"tags": ["on-premise"],
|
|
"file": "nx-cloud/features/nx-enterprise-on-prem"
|
|
},
|
|
{
|
|
"name": "Authenticate with a Single Admin",
|
|
"id": "auth-single-admin",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-single-admin"
|
|
},
|
|
{
|
|
"name": "Authenticate with GitHub",
|
|
"id": "auth-github",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-github"
|
|
},
|
|
{
|
|
"name": "On-Prem VM Setup",
|
|
"id": "ami-setup",
|
|
"file": "nx-cloud/enterprise/on-premise/ami-setup"
|
|
},
|
|
{
|
|
"name": "Authenticate with GitLab",
|
|
"id": "auth-gitlab",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-gitlab"
|
|
},
|
|
{
|
|
"name": "Authenticate with BitBucket",
|
|
"id": "auth-bitbucket",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket"
|
|
},
|
|
{
|
|
"name": "Authenticate with BitBucket Data Center",
|
|
"id": "auth-bitbucket-data-center",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-bitbucket-data-center"
|
|
},
|
|
{
|
|
"name": "Authenticate via SAML",
|
|
"id": "auth-saml",
|
|
"file": "nx-cloud/enterprise/on-premise/auth-saml"
|
|
},
|
|
{
|
|
"name": "Advanced Configuration",
|
|
"id": "advanced-config",
|
|
"file": "nx-cloud/enterprise/on-premise/advanced-config"
|
|
},
|
|
{
|
|
"name": "Custom GitHub App",
|
|
"id": "custom-github-app",
|
|
"file": "nx-cloud/enterprise/on-premise/custom-github-app"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Custom Distributed Task Execution",
|
|
"id": "dte",
|
|
"description": "Custom DTE on your own CI provider",
|
|
"itemList": [
|
|
{
|
|
"name": "GitHub Actions Custom DTE",
|
|
"id": "github-dte",
|
|
"file": "nx-cloud/enterprise/dte/github-dte"
|
|
},
|
|
{
|
|
"name": "Circle CI Custom DTE",
|
|
"id": "circle-ci-dte",
|
|
"file": "nx-cloud/enterprise/dte/circle-ci-dte"
|
|
},
|
|
{
|
|
"name": "Azure Pipelines Custom DTE",
|
|
"id": "azure-dte",
|
|
"file": "nx-cloud/enterprise/dte/azure-dte"
|
|
},
|
|
{
|
|
"name": "Bitbucket Pipelines Custom DTE",
|
|
"id": "bitbucket-dte",
|
|
"file": "nx-cloud/enterprise/dte/bitbucket-dte"
|
|
},
|
|
{
|
|
"name": "GitLab Custom DTE",
|
|
"id": "gitlab-dte",
|
|
"file": "nx-cloud/enterprise/dte/gitlab-dte"
|
|
},
|
|
{
|
|
"name": "Jenkins Custom DTE",
|
|
"id": "jenkins-dte",
|
|
"file": "nx-cloud/enterprise/dte/jenkins-dte"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Other",
|
|
"id": "other",
|
|
"description": "Learn how to set up Nx Cloud for your workspace.",
|
|
"itemList": [
|
|
{
|
|
"name": "Record Non-Nx Commands",
|
|
"id": "record-commands",
|
|
"file": "nx-cloud/set-up/record-commands"
|
|
},
|
|
{
|
|
"name": "Prepare applications for deployment via CI",
|
|
"id": "ci-deployment",
|
|
"tags": ["docker", "deploy"],
|
|
"file": "shared/recipes/ci-deployment"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Reference",
|
|
"id": "reference",
|
|
"description": "Understand how to use Nx Cloud, what arguments and options are available for each component.",
|
|
"itemList": [
|
|
{
|
|
"name": "Configuration Options",
|
|
"id": "config",
|
|
"file": "nx-cloud/reference/config"
|
|
},
|
|
{
|
|
"name": "nx-cloud CLI",
|
|
"id": "nx-cloud-cli",
|
|
"file": "nx-cloud/reference/nx-cloud-cli"
|
|
},
|
|
{
|
|
"name": "Launch Templates",
|
|
"id": "launch-templates",
|
|
"file": "nx-cloud/reference/launch-templates"
|
|
},
|
|
{
|
|
"name": "Custom Steps",
|
|
"id": "custom-steps",
|
|
"file": "nx-cloud/reference/custom-steps"
|
|
},
|
|
{
|
|
"name": "Environment Variables",
|
|
"id": "env-vars",
|
|
"file": "nx-cloud/reference/env-vars"
|
|
},
|
|
{
|
|
"name": "Release Notes",
|
|
"id": "release-notes",
|
|
"file": "nx-cloud/reference/release-notes"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Troubleshooting",
|
|
"id": "troubleshooting",
|
|
"description": "Learn how to solve common issues in Nx Cloud.",
|
|
"itemList": [
|
|
{
|
|
"name": "CI Execution Failed",
|
|
"id": "ci-execution-failed",
|
|
"file": "nx-cloud/troubleshooting/ci-execution-failed"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Changelog",
|
|
"id": "changelog",
|
|
"file": "",
|
|
"path": "/changelog",
|
|
"isExternal": true
|
|
},
|
|
{
|
|
"name": "additional api references",
|
|
"id": "additional-api-references",
|
|
"description": "Package reference.",
|
|
"itemList": [
|
|
{
|
|
"name": "nx",
|
|
"id": "nx",
|
|
"description": "Nx package",
|
|
"itemList": [
|
|
{
|
|
"name": "create-nx-workspace",
|
|
"id": "create-nx-workspace",
|
|
"file": "generated/cli/create-nx-workspace"
|
|
},
|
|
{
|
|
"name": "init",
|
|
"id": "init",
|
|
"file": "generated/cli/init"
|
|
},
|
|
{
|
|
"name": "generate",
|
|
"id": "generate",
|
|
"tags": ["generate-code"],
|
|
"file": "generated/cli/generate"
|
|
},
|
|
{
|
|
"name": "run",
|
|
"tags": ["run-tasks"],
|
|
"id": "run",
|
|
"file": "generated/cli/run"
|
|
},
|
|
{
|
|
"name": "daemon",
|
|
"id": "daemon",
|
|
"file": "generated/cli/daemon"
|
|
},
|
|
{
|
|
"name": "graph",
|
|
"id": "dep-graph",
|
|
"tags": ["explore-graph"],
|
|
"file": "generated/cli/graph"
|
|
},
|
|
{
|
|
"name": "run-many",
|
|
"tags": ["run-tasks"],
|
|
"id": "run-many",
|
|
"file": "generated/cli/run-many"
|
|
},
|
|
{
|
|
"name": "affected",
|
|
"tags": ["run-tasks"],
|
|
"id": "affected",
|
|
"file": "generated/cli/affected"
|
|
},
|
|
{
|
|
"name": "format:check",
|
|
"id": "format-check",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "generated/cli/format-check"
|
|
},
|
|
{
|
|
"name": "format:write",
|
|
"id": "format-write",
|
|
"tags": ["enforce-module-boundaries"],
|
|
"file": "generated/cli/format-write"
|
|
},
|
|
{
|
|
"name": "migrate",
|
|
"id": "migrate",
|
|
"tags": ["automate-updating-dependencies"],
|
|
"file": "generated/cli/migrate"
|
|
},
|
|
{
|
|
"name": "report",
|
|
"id": "report",
|
|
"file": "generated/cli/report"
|
|
},
|
|
{
|
|
"name": "list",
|
|
"id": "list",
|
|
"file": "generated/cli/list"
|
|
},
|
|
{
|
|
"name": "connect-to-nx-cloud",
|
|
"id": "connect-to-nx-cloud",
|
|
"tags": ["cache-task-results", "distribute-task-execution"],
|
|
"file": "generated/cli/connect"
|
|
},
|
|
{
|
|
"name": "reset",
|
|
"id": "reset",
|
|
"tags": ["cache-task-results"],
|
|
"file": "generated/cli/reset"
|
|
},
|
|
{
|
|
"name": "repair",
|
|
"id": "repair",
|
|
"file": "generated/cli/repair"
|
|
},
|
|
{
|
|
"name": "sync",
|
|
"id": "sync",
|
|
"file": "generated/cli/sync"
|
|
},
|
|
{
|
|
"name": "sync:check",
|
|
"id": "sync-check",
|
|
"file": "generated/cli/sync-check"
|
|
},
|
|
{
|
|
"name": "import",
|
|
"id": "import",
|
|
"file": "generated/cli/import"
|
|
},
|
|
{
|
|
"name": "exec",
|
|
"id": "exec",
|
|
"file": "generated/cli/exec"
|
|
},
|
|
{
|
|
"name": "watch",
|
|
"id": "watch",
|
|
"tags": ["workspace-watching"],
|
|
"file": "generated/cli/watch"
|
|
},
|
|
{
|
|
"name": "show",
|
|
"id": "show",
|
|
"file": "generated/cli/show"
|
|
},
|
|
{
|
|
"name": "view-logs",
|
|
"id": "view-logs",
|
|
"file": "generated/cli/view-logs"
|
|
},
|
|
{
|
|
"name": "release",
|
|
"id": "release",
|
|
"tags": ["nx-release"],
|
|
"file": "generated/cli/release"
|
|
},
|
|
{
|
|
"name": "add",
|
|
"id": "add",
|
|
"file": "generated/cli/add"
|
|
},
|
|
{
|
|
"name": "login",
|
|
"id": "login",
|
|
"file": "generated/cli/login"
|
|
},
|
|
{
|
|
"name": "logout",
|
|
"id": "logout",
|
|
"file": "generated/cli/logout"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"id": "workspace",
|
|
"description": "Workspace package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/workspace",
|
|
"file": "shared/packages/workspace/workspace-plugin"
|
|
},
|
|
{
|
|
"name": "Nx, NodeJS and Typescript Versions",
|
|
"id": "nx-nodejs-typescript-version-matrix",
|
|
"file": "shared/packages/workspace/nx-compatibility-matrix"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nx Plugin",
|
|
"id": "plugin",
|
|
"description": "Plugin package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/plugin",
|
|
"file": "shared/packages/plugin/plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nx Devkit",
|
|
"id": "devkit",
|
|
"description": "Devkit package.",
|
|
"itemList": [
|
|
{
|
|
"id": "nx_devkit",
|
|
"name": "Overview",
|
|
"file": "generated/devkit/README"
|
|
},
|
|
{
|
|
"id": "ngcli_adapter",
|
|
"name": "Ng CLI Adapter",
|
|
"file": "generated/devkit/ngcli_adapter/README"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "js",
|
|
"id": "js",
|
|
"description": "JS package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/js",
|
|
"file": "shared/packages/js/js-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "web",
|
|
"id": "web",
|
|
"description": "Web package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/web",
|
|
"file": "shared/packages/web/web-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "esbuild",
|
|
"id": "esbuild",
|
|
"description": "esbuild package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/esbuild",
|
|
"file": "shared/packages/esbuild/esbuild-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "vite",
|
|
"id": "vite",
|
|
"description": "Vite package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"path": "/nx-api/vite",
|
|
"name": "Overview",
|
|
"description": "The Nx Plugin for Vite contains executors and generators that support building applications using Vite. This page also explains how to configure Vite on your Nx workspace.",
|
|
"file": "shared/packages/vite/vite-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "vue",
|
|
"id": "vue",
|
|
"description": "Vue package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"path": "/nx-api/vue",
|
|
"name": "Overview",
|
|
"description": "The Nx Plugin for Vue contains generators for managing Vue applications and libraries within an Nx workspace. This page also explains how to configure Vue on your Nx workspace.",
|
|
"file": "shared/packages/vue/vue-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "nuxt",
|
|
"id": "nuxt",
|
|
"description": "Nuxt package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"path": "/nx-api/nuxt",
|
|
"name": "Overview",
|
|
"description": "The Nx Plugin for Nuxt contains generators for managing Nuxt applications within a Nx workspace. This page also explains how to configure Nuxt on your Nx workspace.",
|
|
"file": "shared/packages/nuxt/nuxt-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "webpack",
|
|
"id": "webpack",
|
|
"description": "Webpack package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"path": "/nx-api/webpack",
|
|
"name": "Overview",
|
|
"description": "The Nx Plugin for Webpack contains executors and generators that support building applications using Webpack.",
|
|
"file": "shared/packages/webpack/plugin-overview"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "angular",
|
|
"id": "angular",
|
|
"description": "Angular package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/angular",
|
|
"file": "shared/packages/angular/angular-plugin"
|
|
},
|
|
{
|
|
"name": "Nx and the Angular CLI",
|
|
"id": "nx-and-angular",
|
|
"file": "shared/guides/nx-and-angular-cli"
|
|
},
|
|
{
|
|
"name": "Nx Devkit and Angular Devkit",
|
|
"id": "nx-devkit-angular-devkit",
|
|
"tags": ["create-your-own-plugin"],
|
|
"file": "shared/guides/nx-devkit-angular-devkit"
|
|
},
|
|
{
|
|
"name": "Angular and Nx Version Matrix",
|
|
"id": "angular-nx-version-matrix",
|
|
"file": "shared/packages/angular/angular-nx-version-matrix",
|
|
"path": "/angular-nx-version-matrix"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "react",
|
|
"id": "react",
|
|
"description": "React package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/react",
|
|
"file": "shared/packages/react/react-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "jest",
|
|
"id": "jest",
|
|
"description": "Jest package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/jest",
|
|
"file": "shared/packages/jest/jest-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "cypress",
|
|
"id": "cypress",
|
|
"description": "Cypress package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/cypress",
|
|
"file": "shared/packages/cypress/cypress-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "playwright",
|
|
"id": "playwright",
|
|
"description": "Playwright package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/playwright",
|
|
"file": "shared/packages/playwright/playwright-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "storybook",
|
|
"id": "storybook",
|
|
"description": "Storybook package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"description": "This is an overview page for the Storybook plugin in Nx. It explains what Storybook is and how to set it up in your Nx workspace.",
|
|
"path": "/nx-api/storybook",
|
|
"file": "shared/packages/storybook/plugin-overview"
|
|
},
|
|
{
|
|
"id": "best-practices",
|
|
"name": "Storybook best practices for making the most out of Nx",
|
|
"description": "The purpose of this guide is to help you set up Storybook in your Nx workspace so that you can get the most out of Nx and its powerful capabilities.",
|
|
"file": "shared/packages/storybook/best-practices"
|
|
},
|
|
{
|
|
"id": "storybook-7-setup",
|
|
"name": "Storybook 7",
|
|
"description": "This guide explains how you can set up Storybook version 7 in your Nx workspace. It contains information about the generators and the frameworks that are supported.",
|
|
"file": "shared/packages/storybook/storybook-7-setup"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "eslint",
|
|
"id": "eslint",
|
|
"description": "Linter package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/eslint",
|
|
"file": "shared/packages/eslint/eslint"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "eslint-plugin",
|
|
"id": "eslint-plugin",
|
|
"description": "ESLint plugin package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/eslint-plugin",
|
|
"file": "shared/packages/eslint/eslint-plugin"
|
|
},
|
|
{
|
|
"id": "enforce-module-boundaries",
|
|
"name": "The `enforce-module-boundaries` rule",
|
|
"path": "/nx-api/eslint-plugin",
|
|
"file": "shared/packages/eslint/enforce-module-boundaries"
|
|
},
|
|
{
|
|
"id": "dependency-checks",
|
|
"name": "The `dependency-checks` rule",
|
|
"path": "/nx-api/eslint-plugin",
|
|
"file": "shared/packages/eslint/dependency-checks"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "node",
|
|
"id": "node",
|
|
"description": "Node package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/node",
|
|
"file": "shared/packages/node/node-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "express",
|
|
"id": "express",
|
|
"description": "Express package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/express",
|
|
"file": "shared/packages/express/express-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "nest",
|
|
"id": "nest",
|
|
"description": "Nest package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/nest",
|
|
"file": "shared/packages/nest/nest-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "next",
|
|
"id": "next",
|
|
"description": "Next package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/next",
|
|
"file": "shared/packages/next/plugin-overview"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "remix",
|
|
"id": "remix",
|
|
"description": "Remix package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/remix",
|
|
"file": "shared/packages/remix/remix-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "rspack",
|
|
"id": "rspack",
|
|
"description": "Rspack package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/rspack",
|
|
"file": "shared/packages/rspack/rspack-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "detox",
|
|
"id": "detox",
|
|
"description": "Detox package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/detox",
|
|
"file": "shared/packages/detox/detox-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "react native",
|
|
"id": "react-native",
|
|
"description": "React Native package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/react-native",
|
|
"file": "shared/packages/react-native/react-native-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "expo",
|
|
"id": "expo",
|
|
"description": "Expo package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/expo",
|
|
"file": "shared/packages/expo/expo-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "powerpack-owners",
|
|
"id": "powerpack-owners",
|
|
"description": "powerpack-owners package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/powerpack-owners",
|
|
"file": "shared/packages/powerpack-owners/powerpack-owners-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "powerpack-conformance",
|
|
"id": "powerpack-conformance",
|
|
"description": "powerpack-conformance package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/powerpack-conformance",
|
|
"file": "shared/packages/powerpack-conformance/powerpack-conformance-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "powerpack-s3-cache",
|
|
"id": "powerpack-s3-cache",
|
|
"description": "powerpack-s3-cache package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/powerpack-s3-cache",
|
|
"file": "shared/packages/powerpack-s3-cache/powerpack-s3-cache-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "powerpack-shared-fs-cache",
|
|
"id": "powerpack-shared-fs-cache",
|
|
"description": "powerpack-shared-fs-cache package.",
|
|
"itemList": [
|
|
{
|
|
"name": "Overview",
|
|
"id": "overview",
|
|
"path": "/nx-api/powerpack-shared-fs-cache",
|
|
"file": "shared/packages/powerpack-shared-fs-cache/powerpack-shared-fs-cache-plugin"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "gradle",
|
|
"id": "gradle",
|
|
"description": "Gradle package.",
|
|
"itemList": [
|
|
{
|
|
"id": "overview",
|
|
"name": "Overview",
|
|
"path": "/nx-api/gradle",
|
|
"file": "shared/packages/gradle/gradle-plugin"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|