Skip to content
Nx
Docs
v21
v21
✓
v20
v19
Blog
Resources
Learn
Podcasts
Webinars
Nx Video Courses
Newsletter
Community
Discord
Events
Office Hours
Live Streams
Company
About Us
Customers
Partners
AI
Nx Cloud
Nx Enterprise
Search
Ctrl
K
Cancel
GitHub
YouTube
X
Discord
Select theme
Dark
Light
Auto
Getting Started
Introduction
Installation
Start a new project
Add to existing project
Editor Integration
AI Integration
Nx Cloud
Tutorials
Angular Monorepo
Gradle Monorepo
React Monorepo
TypeScript Monorepo
Features
Run Tasks
Cache Task Results
Enhance Your LLM
Explore your Workspace
Generate Code
Maintain TypeScript Monorepos
Automate Updating Dependencies
Enforce Module Boundaries
Manage Releases
CI Features
AI-Powered Self-Healing CI
Remote Caching (Nx Replay)
Distribute Task Execution (Nx Agents)
Run Only Tasks Affected by a PR
Dynamically Allocate Agents
Automatically Split E2E Tasks
Identify and Re-run Flaky Tasks
Explain with AI
beta
GitHub Integration
Guides
Installation
Install Nx in a Non-JavaScript Repository
Update Your Global Nx Installation
Adopting Nx
Adding Nx to your Existing Project
NPM/Yarn/PNPM workspaces
Migrating from Turborepo
Import an Existing Project into an Nx Workspace
Manual migration
Preserving Git Histories
Prepare Applications for Deployment via CI
Enforce Module Boundaries
Ban Dependencies with Certain Tags
Ban External Imports
Tag in Multiple Dimensions
Tags Allow List
Nx Cloud
CI Access Tokens
Reduce the Number of Affected Projects in a CI Pipeline Execution
Enable End to End Encryption
Authenticate with Google Identity
Manual Distributed Task Execution
Personal Access Tokens
Recording Non-Nx Commands
Setup CI
Source Control Integration
Nx Console
Generate Command
Migrate UI
Nx Cloud Integration
Project Details View
Run Command
Telemetry
Troubleshooting
Nx Release
Automate GitHub Releases
Automate GitLab Releases
Automatically Version with Conventional Commits
Build Before Versioning
Configuring Version Prefix for Dependencies
Configure Changelog Format
Configure Custom Registries
Customize Conventional Commit Types
File Based Versioning (Version Plans)
Publish in CI/CD
Using Nx Release with Rust
Release Docker Images
Release TypeScript/JavaScript Packages to NPM
Release Projects Independently
Update Your Local Registry Setup to use Nx Release
Updating Version References in Manifest Files
Tasks & Caching
Change Cache Location
Configure Inputs for Task Caching
Configure Outputs for Task Caching
Migrate to Inferred Tasks (Project Crystal)
Defining a Task Pipeline
Pass Args to Commands
Reduce Repetitive Configuration
Run Root-Level NPM Scripts with Nx
Running Custom Commands
Run Tasks in Parallel
Remote Cache
Skip Task Caching
Terminal UI
Workspace Watching
Tips and Tricks
Advanced Update Process
Disable Graph Links Created from Analyzing Source Files
Configuring Browser Support
Define Environment Variables
Identify Dependencies Between Folders
Include All package.json Files as Projects
Including Assets in Your Build
Keep Nx Versions in Sync
Convert from a Standalone Repository to a Monorepo
Using Yarn Plug'n'Play with Nx
Concepts
Publishable and Buildable Nx Libraries
Common Tasks
Nx Daemon
Executors and Configurations
How Caching Works
Inferred Tasks (Project Crystal)
Mental Model
What Are Nx Plugins?
Sync Generators
What is a Task Pipeline
Managing Configuration Files
TypeScript Project Linking
CI Concepts
Nx Cloud AI
Building Blocks of Fast CI
Cache Security
Heartbeat and Main Job Completion Handling
Parallelization and Distribution
Reduce Wasted Time in CI
Decisions
Code Ownership
Dependency Management Strategies
Folder Structure
Monorepo or Polyrepo
Project Dependency Rules
Project Size
Monorepos
Module Federation
Faster Builds with Module Federation
Manage Library Versions with Module Federation
Micro Frontend Architecture
Module Federation and Nx
Nx Module Federation Technical Overview
Technologies
TypeScript
Introduction
Guides
Compile Typescript Packages to Multiple Formats
Define Secondary Entrypoints for Typescript Packages
Enable Typescript Batch Mode
Use JavaScript instead TypeScript
Switch to Workspaces and TS Project References
Generators
Executors
Migrations
Angular
Introduction
Guides
Angular and Nx Version Matrix
Advanced Micro Frontends with Angular using Dynamic Federation
Setup Module Federation with SSR for Angular
Nx and the Angular CLI
Nx Devkit and Angular Devkit
Setup incremental builds for Angular applications
Use Environment Variables in Angular
Using Tailwind CSS with Angular projects
Generators
Executors
Migrations
Angular Migration
Migrating From Multiple Angular CLI Repos
Migrating from Angular CLI
React
Introduction
Guides
Adding Images, Fonts, and Files
Deploying Next.js applications to Vercel
Setup Module Federation with SSR
React Compiler with Nx
React Native with Nx
React Router with Nx
Remix with Nx
Use Environment Variables in React
Using Tailwind CSS in React
Generators
Executors
Migrations
Next
Introduction
Guides
How to configure Next.js plugins
Generators
Executors
Migrations
Remix
Introduction
Generators
Executors
Migrations
React Native
Introduction
Generators
Executors
Migrations
Expo
Introduction
Generators
Executors
Migrations
Vue
Introduction
Generators
Migrations
Nuxt
Introduction
Guides
Deploying Nuxt applications to Vercel
Generators
Migrations
Node.js
Introduction
Guides
Set Up Application Proxies
Deploying AWS lambda in Node.js (deprecated)
Deploying a Node App to Fly.io
Add and Deploy Netlify Edge Functions with Node
Wait for Tasks to Finish
Generators
Migrations
Express
Introduction
Generators
Nest
Introduction
Generators
Migrations
Java
Generators
Executors
Migrations
Module Federation
Introduction
Guides
Creating a Module Federation Host
Creating a Module Federation Remote
Federate a Module
NxModuleFederationDevServerPlugin
Migrations
Concepts
Faster Builds with Module Federation
Manage Library Versions with Module Federation
Micro Frontend Architecture
Module Federation and Nx
Nx Module Federation Technical Overview
ESLint
Introduction
Guides
Configuring ESLint with Typescript
Switching to ESLint's flat config format
Generators
Executors
Migrations
ESLint Plugin
Guides
The dependency-checks rule
The enforce-module-boundaries rule
Migrations
Build Tools
Webpack
Introduction
Guides
How to configure Webpack in your Nx workspace
Webpack plugins
Generators
Executors
Migrations
Vite
Introduction
Guides
Configure Vite
Generators
Executors
Migrations
Rollup
Introduction
Generators
Executors
Migrations
ESBuild
Introduction
Generators
Executors
Rspack
Introduction
Generators
Executors
Migrations
Rsbuild
Introduction
Generators
Test Tools
Cypress
Introduction
Guides
Component Testing
Using setupNodeEvents with Cypress preset
Cypress v11 Migration Guide
Generators
Executors
Migrations
Jest
Introduction
Generators
Executors
Migrations
Playwright
Introduction
Generators
Executors
Migrations
Storybook
Introduction
Guides
Angular - Configuring styles and preprocessor options
Angular - Set up Compodoc for Storybook on Nx
Storybook best practices for making the most out of Nx
Configuring Storybook on Nx
How to configure Webpack and Vite for Storybook
One main Storybook instance for all projects
One Storybook instance per scope
One main Storybook instance using Storybook Composition
Set up Storybook for Angular Projects
Set up Storybook for React Projects
Set up Storybook for Vue Projects
Storybook 9
Setting up Storybook Composition with Nx
Setting up Storybook Interaction Tests with Nx
Upgrading Storybook using the Storybook CLI
Generators
Executors
Migrations
Detox
Introduction
Generators
Executors
Migrations
Enterprise
Polygraph
Metadata-Only Workspaces
Custom Workflows
Activate Nx Powerpack
Powerpack Features
Nx Powerpack Features
Free Licenses and Trials
Run Language-Agnostic Conformance Rules
Configure Conformance Rules in Nx Cloud
Define Code Ownership at the Project Level
Publish Conformance Rules to Nx Cloud
Single Tenant
Single Tenant Nx Cloud Hosting
BitBucket Cloud Auth
BitBucket Data Center Auth
GitHub Auth
GitLab Auth
SAML Auth
Custom GitHub App
Reference
Nx Commands
Cloud Commands
create-nx-workspace
Nx configuration
Project Configuration
Inputs and Named Inputs
.nxignore
Environment Variables
Glossary
Releases
Configuring the Cloud Runner
Launch Templates
Benchmarks
Large Next.js Apps Made Faster with Nx
Nx Agents at Scale
TSC Batch Mode
Devkit
Overview
Angular CLI Adapter
Overview
wrapAngularDevkitSchematic
mockSchematicsForTesting
NxScopedHost
Tree
FileChange
WorkspaceJsonConfiguration
ProjectsConfigurations
TargetDependencyConfig
TargetConfiguration
ProjectConfiguration
ProjectType
Workspace
Generator
Migration
GeneratorCallback
PromiseExecutor
AsyncIteratorExecutor
Executor
ExecutorContext
TaskGraphExecutor
GeneratorsJson
ExecutorsJson
MigrationsJson
HasherContext
workspaceLayout
NxPlugin
NxPluginV2
CreateNodes
CreateNodesFunction
CreateNodesResult
CreateNodesContext
CreateNodesContextV2
CreateNodesV2
CreateDependencies
CreateDependenciesContext
AggregateCreateNodesError
StaleProjectGraphCacheError
createNodesFromFiles
Task
TaskGraph
TaskResult
TaskResults
NxJsonConfiguration
NxAffectedConfig
getPackageManagerCommand
detectPackageManager
getPackageManagerVersion
isWorkspacesEnabled
Target
runExecutor
addProjectConfiguration
readProjectConfiguration
removeProjectConfiguration
updateProjectConfiguration
getProjects
glob
globAsync
readNxJson
updateNxJson
ProjectFileMap
FileMap
FileData
ProjectGraph
ProjectGraphDependency
ProjectGraphProjectNode
ProjectGraphExternalNode
GraphJson
DependencyType
RawProjectGraphDependency
DynamicDependency
ImplicitDependency
StaticDependency
validateDependency
readJson
writeJson
updateJson
parseJson
serializeJson
stripJsonComments
JsonParseOptions
JsonSerializeOptions
readJsonFile
writeJsonFile
stripIndents
joinPathFragments
normalizePath
workspaceRoot
reverse
createProjectGraphAsync
readCachedProjectGraph
readProjectsConfigurationFromProjectGraph
getOutputsForTargetAndConfiguration
defaultTasksRunner
DefaultTasksRunnerOptions
RemoteCache
Hash
TaskHasher
hashArray
cacheDir
createProjectFileMapUsingProjectGraph
isDaemonEnabled
formatFiles
generateFiles
OverwriteStrategy
toJS
updateTsConfigsToJs
runTasksInSerial
visitNotIgnoredFiles
parseTargetString
targetToTargetString
readTargetOptions
addDependenciesToPackageJson
ensurePackage
removeDependenciesFromPackageJson
NX_VERSION
installPackagesTask
names
getWorkspaceLayout
extractLayoutDirectory
StringChange
StringDeletion
StringInsertion
applyChangesToString
offsetFromRoot
convertNxGenerator
convertNxExecutor
moveFilesToNewDirectory
Powerpack
conformance
Create a Conformance Rule
Executors
Generators
Overview
owners
Generators
Overview
Remote Cache Plugins
azure-cache
Overview
gcs-cache
Overview
s3-cache
Overview
shared-fs-cache
Generators
Overview
Troubleshooting
CI Execution Failed
Troubleshoot Nx Console Issues
Profiling Performance
Resolve Circular Dependencies
Troubleshoot Cache Misses
Troubleshoot Convert to Inferred Migration
Troubleshoot Nx Installations
Unknown Local Cache Error
GitHub
YouTube
X
Discord
Select theme
Dark
Light
Auto
Docs
Reference
Devkit
Projectfilemap
ProjectFileMap
A list of files separated by the project they belong to