Nx Crystal plugins bring zero-config task inference to monorepos, while the project graph powers intelligent affected analysis and task scheduling. Test your Nx expertise.
0 / 5 completed
1 / 5
What are Nx Crystal plugins and what do they provide?
Crystal plugins (like @nx/vite, @nx/jest) use the inferred tasks system — they inspect your project files (e.g., vite.config.ts, jest.config.js) and automatically register tasks without requiring you to add them to project.json. This reduces boilerplate and keeps configuration DRY.
2 / 5
What does nx affected --target=test do in a monorepo?
nx affected computes which projects are affected by recent changes by comparing the current state to a base (usually the main branch or last successful CI commit). Only those projects — and projects that depend on them — have the target task run. This dramatically reduces CI time in large monorepos.
3 / 5
What is the Nx project graph used for?
The Nx project graph is a DAG of workspace projects and their explicit and implicit dependencies. Nx uses it to determine task execution order (respecting dependencies), compute the affected set (propagating changes upward), and visualise the architecture. You can inspect it with nx graph.
4 / 5
In Nx, what is a generator used for?
Nx generators are code-generation scripts (like nx generate @nx/react:library my-lib) that scaffold consistent project structures. They create files, update configs, and add entries to the workspace graph. Teams write custom generators to enforce their own architectural patterns and reduce setup time for new features or packages.
5 / 5
What does Nx's task pipeline (formerly targetDefaultsdependsOn) ensure?
The task pipeline's dependsOn field specifies that a task (e.g., build) must wait for the same task in all dependency projects to complete first. Setting build: { dependsOn: ['^build'] } ensures all upstream build tasks finish before the current project builds, guaranteeing correct artifact order.