Skip to content
Docs
v22
v22
✓
v21
v20
v19
Blog
Resources
Learn
Podcasts
Webinars
Nx Video Courses
Newsletter
Community
Discord
Books
Case Studies
Whitepapers
Events
Nx Live
Company
About Us
Customers
Partners
Nx Cloud
Pricing
Enterprise
Search
Ctrl
K
Cancel
Contact
Try Nx Cloud for free
GitHub
YouTube
X
Discord
Select theme
Dark
Light
Auto
Getting Started
Technologies
Knowledge Base
Reference
Getting Started
Intro to Nx
Installation
Editor Setup
AI Integrations
Start a New Project
Add to Existing Project
Tutorials
Angular Monorepo
Gradle Monorepo
React Monorepo
TypeScript Monorepo
How Nx Works
Mental Model
How Caching Works
Task Pipeline Configuration
Types of Configuration
Executors and Configurations
Nx Plugins
Inferred Tasks
Building Blocks of Fast CI
Parallelization and Distribution
Nx Daemon
Platform Features
Run Tasks
Enhance Your LLM
Code Organization
Explore Graph
Generate Code
Sync Generators
Enforce Module Boundaries
Overview
Ban Dependencies with Tags
Ban External Imports
Tag Multiple Dimensions
Tags Allow List
Orchestration & CI
Affected
Remote Cache (Nx Replay)
Self-Healing CI
Flaky Tasks
Distribute Task Execution (Nx Agents)
Split E2E Tasks
Dynamically Allocate Agents
CI Resource Usage
Optimize Your TTG
Record Commands
GitHub Integration
CIPE Affected Project Graph
Encryption
Google Auth
Release & Publishing
Nx Release Overview
Publish in CI/CD
Automatic Versioning with Conventional Commits
Customize Conventional Commit Types
Configure Changelog Format
Configure Custom Registries
Configure Version Prefix
File-Based Versioning (Version Plans)
Release Groups
Release Projects Independently
Build Before Versioning
Update Dependents
Updating Version References
Update Local Registry Setup
Programmatic API
Maintenance
Nx Console Migration Assistance
Advanced Update Process
Automate Importing Projects
Manual Migrations
Preserving Git Histories
Migrating From Turborepo
Enterprise
Conformance
Configure Conformance Rules in Nx Cloud
Publish Conformance Rules to Nx Cloud
Owners
Polygraph
Custom Workflows
Metadata Only Workspace
Activate License
Single Tenant
Overview
Auth GitHub
Auth GitLab
Auth Bitbucket
Auth Bitbucket Data Center
Custom GitHub App
Okta SAML
Azure SAML
Conformance Reference
Overview
Create Conformance Rule
Test Conformance Rule
Generators
Executors
Enterprise Release Notes
Frameworks & Libraries
TypeScript
Angular
Angular Rspack
Angular Rsbuild
React
Next.js
Remix
React Native
Expo
Vue
Nuxt
Node.js
Express
Nest
Java
Gradle
Maven
.NET
Module Federation
ESLint
Build Tools
Webpack
Vite
Rollup
ESBuild
Rspack
Rsbuild
Test Tools
Cypress
Vitest
Jest
Playwright
Storybook
Detox
Plugin Registry
Troubleshooting
CI Execution Failed
Unknown Local Cache Error
Troubleshoot Convert to Inferred
Profiling Performance
Troubleshoot Nx Console Issues
Troubleshoot Cache Misses
Troubleshoot Nx Installations
Resolve Circular Dependencies
Recipes
Include All package.json Files
Disable Graph Links from Source Analysis
Using Yarn PnP with Nx
Identify Dependencies Between Folders
Feature-Based Testing
Configuring Browser Support
Define Environment Variables
Including Assets in Your Build
Keep Nx Versions in Sync
Standalone to Monorepo
Creating Releases
Release NPM Packages
Release Rust Crates
Release Docker Images
Automate GitHub Releases
Automate GitLab Releases
Nx Console
Telemetry
Run Command
Nx Cloud Integration
Generate Command
Project Details View
Troubleshooting
Installation
Install Nx in Non-JavaScript Repo
Update Global Installation
Organizational Decisions
Why Monorepos
Monorepo or Polyrepo
Dependency Management
Folder Structure
Project Size
Code Ownership
Project Dependency Rules
Extending Nx
Intro
Local Generators
Composing Generators
Creating Files
Modifying Files
Migration Generators
Create Sync Generator
Local Executors
Compose Executors
Task Running Lifecycle
Project Graph Plugins
CreateNodes Compatibility
Organization-Specific Plugin
Tooling Plugin
Custom Plugin Preset
Creating an Install Package
Publish Your Plugin
Continuous Integration
Setup CI
Access Tokens
Personal Access Tokens
Manual DTE
Source Control Integration
Configuring the Cloud Runner
Custom Images
Assignment Rules
Custom Steps
Launch Templates
Reduce Waste in CI
Cache Security
Heartbeat and Manual Shutdown Handling
Tasks & Caching
Configure Inputs
Configure Outputs
Defining Task Pipeline
Run Tasks in Parallel
Pass Args to Commands
Run Commands Executor
Reduce Repetitive Configuration
Root Level Scripts
Convert to Inferred
Change Cache Location
Self-Hosted Caching
Skipping Cache
Workspace Watching
Terminal UI
Benchmarks
Nx Agents at Scale
Large Next.js Apps with Caching
TSC Batch Mode
TypeScript
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
Buildable and Publishable Libraries
TypeScript Project Linking
Maintain TypeScript Monorepos
Angular
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
Migrating From Multiple Angular CLI Repos
Migrating from Angular CLI
Getting Started
Handling Configurations
Internationalization
Migrate from Webpack
Create Config
Create Server
React
Adding Images, Fonts, and Files
Deploying Next.js applications to Vercel
Setup Module Federation with SSR
React Compiler with Nx
React Router with Nx
Use Environment Variables in React
Using Tailwind CSS with React
How to configure Next.js plugins
Vue
Deploying Nuxt applications to Vercel
Node
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
.NET
Incremental builds
Migrate from @nx-dotnet/core
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
Creating a Module Federation Host
Creating a Module Federation Remote
Federate a Module
NxModuleFederationDevServerPlugin
NxModuleFederationPlugin
Using Tailwind CSS with Module Federation
ESLint
Custom Workspace ESLint Rules
Configuring ESLint with Typescript
Switching to ESLint's flat config format
The dependency-checks rule
The enforce-module-boundaries rule
ESLint Plugin
Vite
Configure Vite
Webpack
How to configure Webpack in your Nx workspace
Webpack plugins
Cypress
Component Testing
Using setupNodeEvents with Cypress preset
Cypress v11 Migration Guide
Playwright
Merge Atomized Outputs
Storybook
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
Setting up Storybook Composition with Nx
Setting up Storybook Interaction Tests with Nx
Upgrading Storybook
Vitest
Migrate from @nx/vite
Skip Building Dependencies
Nx Commands
Project Configuration
Environment Variables
Glossary
Releases
Changelog
create-nx-workspace
nx.json
Inputs
nxignore
Node/TypeScript Compatibility
Nx MCP
Nx Console Settings
Nx Cloud CLI
Nx Cloud Credit Pricing
Remote Cache Plugins
Deprecations
.NET
Generators
Angular
Angular Generators
Angular Executors
Angular Migrations
Cypress
Generators
Executors
Migrations
Detox
Generators
Executors
Migrations
Devkit
Overview
ngcli_adapter
Overview
NxScopedHost
mockSchematicsForTesting
wrapAngularDevkitSchematic
AggregateCreateNodesError
AsyncIteratorExecutor
ChangeType
CreateDependencies
CreateDependenciesContext
CreateMetadata
CreateMetadataContext
CreateNodesContextV2
CreateNodesFunctionV2
CreateNodesResult
CreateNodesResultV2
CreateNodesV2
CustomHasher
DefaultTasksRunnerOptions
DependencyType
DynamicDependency
Executor
ExecutorContext
ExecutorsJson
ExpandedPluginConfiguration
FileChange
FileData
FileMap
Generator
GeneratorCallback
GeneratorsJson
GraphJson
Hash
Hasher
HasherContext
ImplicitDependency
ImplicitDependencyEntry
ImplicitJsonSubsetDependency
JsonParseOptions
JsonSerializeOptions
Migration
MigrationsJson
NX_VERSION
NxAffectedConfig
NxJsonConfiguration
NxPlugin
NxPluginV2
OverwriteStrategy
PackageManager
PluginConfiguration
PostTasksExecution
PostTasksExecutionContext
PreTasksExecution
PreTasksExecutionContext
ProjectConfiguration
ProjectFileMap
ProjectGraph
ProjectGraphDependency
ProjectGraphExternalNode
ProjectGraphProjectNode
ProjectType
ProjectsConfigurations
ProjectsMetadata
PromiseExecutor
RawProjectGraphDependency
RemoteCache
StaleProjectGraphCacheError
StaticDependency
StringChange
StringDeletion
StringInsertion
Target
TargetConfiguration
TargetDefaults
TargetDependencyConfig
Task
TaskGraph
TaskGraphExecutor
TaskHasher
TaskResult
TaskResults
ToJSOptions
Tree
Workspace
WorkspaceJsonConfiguration
addDependenciesToPackageJson
addProjectConfiguration
applyChangesToString
cacheDir
convertNxExecutor
convertNxGenerator
createNodesFromFiles
createProjectFileMapUsingProjectGraph
createProjectGraphAsync
defaultTasksRunner
detectPackageManager
ensurePackage
extractLayoutDirectory
formatFiles
generateFiles
getDependencyVersionFromPackageJson
getOutputsForTargetAndConfiguration
getPackageManagerCommand
getPackageManagerVersion
getProjects
getWorkspaceLayout
glob
globAsync
hashArray
installPackagesTask
isDaemonEnabled
isWorkspacesEnabled
joinPathFragments
logger
moveFilesToNewDirectory
names
normalizePath
offsetFromRoot
output
parseJson
parseTargetString
readCachedProjectGraph
readJson
readJsonFile
readNxJson
readProjectConfiguration
readProjectsConfigurationFromProjectGraph
readTargetOptions
removeDependenciesFromPackageJson
removeProjectConfiguration
reverse
runExecutor
runTasksInSerial
serializeJson
stripIndents
stripJsonComments
targetToTargetString
toJS
updateJson
updateNxJson
updateProjectConfiguration
updateTsConfigsToJs
validateDependency
visitNotIgnoredFiles
workspaceLayout
workspaceRoot
writeJson
writeJsonFile
ESBuild
Generators
Executors
ESLint
ESLint Generators
ESLint Executors
ESLint Migrations
Java
Gradle Generators
Gradle Executors
Gradle Migrations
Maven Generators
Maven Executors
Maven Migrations
Jest
Generators
Executors
Migrations
Module Federation
Migrations
Node
Node Generators
Node Migrations
Express Generators
Nest Generators
Nest Migrations
Nx
Overview
nx Generators
nx Executors
nx Migrations
Playwright
Generators
Executors
Plugin
Overview
@nx/plugin Generators
React
React Generators
React Executors
React Migrations
Next.js Generators
Next.js Executors
Next.js Migrations
Remix Generators
Remix Executors
Remix Migrations
React Native Generators
React Native Executors
React Native Migrations
Expo Generators
Expo Executors
Expo Migrations
Rollup
Generators
Executors
Rsbuild
Generators
Rspack
Generators
Executors
Migrations
Storybook
Generators
Executors
Migrations
TypeScript
Generators
Executors
Migrations
Vite
Generators
Executors
Migrations
Vitest
Generators
Executors
Migrations
Vue
Vue Generators
Vue Migrations
Nuxt Generators
Nuxt Migrations
Web
Overview
@nx/web Generators
@nx/web Executors
Webpack
Generators
Executors
Migrations
Workspace
Overview
@nx/workspace Generators
@nx/workspace Migrations
GitHub
YouTube
X
Discord
Select theme
Dark
Light
Auto
28.1k
Give us a Star!
Contact
Login
Technologies
ESLint
ESLint Plugin
ESLint Plugin
ESLint Plugin
ESLint Plugin
Nx ESLint plugin features
Guides
ESLint plugin configuration guides