You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/blog/2024-12-22-nx-highlights-2024.md
+14-14Lines changed: 14 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@ pinned: true,
8
8
youtubeUrl: https://youtu.be/n4MBETdLBVg
9
9
---
10
10
11
-
Thank you for being part of the Nx community. Your support and contributions make Nx what it is today—driving it forward as the go-to solution for delivering the best developer experience in monorepos. Nx and Nx Cloud integrate to provide a **complete solution for managing monorepos** at every stage of the development cycle, both locally and in CI.
11
+
Thank you for being part of the Nx community. Your support and contributions make Nx what it is today, driving it forward as the go-to solution for delivering the best developer experience in monorepos. Nx and Nx Cloud integrate to provide a **complete solution for managing monorepos** at every stage of the development cycle, both locally and in CI.
12
12
13
-
In 2024, we focused on making Nx **more adaptable**—seamlessly fitting into OSS projects and large enterprise codebases. Our goal was to balance **flexibility and power**, ensuring Nx scales with your needs while remaining easy to adopt in **existing setups**. This progress is the result of **working with the community, collaborating with other tooling teams, and engaging directly with enterprises**.
13
+
In 2024, we focused on making Nx **more adaptable**, seamlessly fitting into OSS projects and large enterprise codebases. Our goal was to balance **flexibility and power**, ensuring Nx scales with your needs while remaining easy to adopt in **existing setups**. This progress is the result of **working with the community, collaborating with other tooling teams, and engaging directly with enterprises**.
14
14
15
15
{% github-repository title="Star Nx on GitHub" url="https://github.com/nrwl/nx" /%}
16
16
@@ -24,13 +24,13 @@ Here are our picks for the top 10 highlights for 2024. There's no particular ord
24
24
25
25
### Project Crystal
26
26
27
-
Nx has been solving monorepos long before package managers introduced features like workspaces. Early on, we used **TypeScript path mappings** to manage project linking, resulting in **integrated monorepos**—powered by [Nx plugins](/concepts/nx-plugins#what-are-nx-plugins) to automate setup and tool integration.
27
+
Nx has been solving monorepos long before package managers introduced features like workspaces. Early on, we used **TypeScript path mappings** to manage project linking, resulting in **integrated monorepos**powered by [Nx plugins](/concepts/nx-plugins#what-are-nx-plugins) to automate setup and tool integration.
28
28
29
29
When **npm**, **Yarn**, and **PNPM** introduced "workspaces," another option emerged: **package-based monorepos**, where Nx primarily acted as a task runner with caching and parallelization.
30
30
31
31
Integrated monorepos offer automation but are opinionated. Package-based monorepos provide flexibility but require more effort to manage. Combining the two wasn’t easy, largely because of how Nx plugins were initially designed.
32
32
33
-
We wanted to make sure you didn’t have to choose. This led to **Project Crystal**—an effort to make Nx plugins more adaptable. These "crystalized" plugins:
33
+
We wanted to make sure you didn’t have to choose. This led to **Project Crystal**, an effort to make Nx plugins more adaptable. These "crystalized" plugins:
34
34
35
35
-**Rely on your existing config files** (e.g., `@nx/vite` enhances `vite.config.ts` rather than replacing it).
36
36
-**Enhance without interfering**, allowing for a better experience without locking you into the plugin.
@@ -47,7 +47,7 @@ Want to dive deeper? Check out [our announcement blog post](/blog/what-if-nx-plu
Nx isn’t just about managing monorepos locally. A big part of the workflow happens on CI. If your monorepo doesn’t run reliably in CI, it’s not working. That’s why Nx Cloud has been a major focus—especially for scaling monorepos in CI environments. This year, we introduced some of the most impactful features yet:
50
+
Nx isn’t just about managing monorepos locally. A big part of the workflow happens on CI. If your monorepo doesn’t run reliably in CI, it’s not working. That’s why Nx Cloud has been a major focus, especially for scaling monorepos in CI environments. This year, we introduced some of the most impactful features yet:
@@ -107,7 +107,7 @@ For more details, check out the blog post ["Manage Your Gradle Project using Nx"
107
107
108
108
### Nx Import
109
109
110
-
Migrating projects into a monorepo is often seen as complicated and error-prone. With **`nx import`**, introduced in 2024, we've simplified the process—preserving **Git history** and minimizing disruptions along the way.
110
+
Migrating projects into a monorepo is often seen as complicated and error-prone. With **`nx import`**, introduced in 2024, we've simplified the process, preserving **Git history** and minimizing disruptions along the way.
111
111
112
112
`nx import` builds on the work done in **Project Crystal**, making migrations smoother. For example, when importing a Gradle-based app, Nx detects the Gradle configuration, suggests installing the `@nx/gradle` plugin, and sets everything up for you. It reads your Gradle files, identifies runnable tasks, configures caching, and integrates the project into the workspace.
113
113
@@ -145,15 +145,15 @@ One major update was the new pattern for the **module-federation-dev-server**. I
145
145
146
146
We also adopted **Module Federation 2.0**, adding runtime plugins and key enhancements. On top of that, we introduced support for **Rspack Module Federation**, allowing Nx users to take advantage of newer tools in the ecosystem.
147
147
148
-
To simplify setup, we launched **@nx/module-federation**—a package that streamlines configuration and management of federated apps in Nx workspaces. Nx’s approach to Module Federation has been highlighted by the community and is now featured on [module-federation.io](https://module-federation.io/practice/monorepos/nx-for-module-federation.html).
148
+
To simplify setup, we launched **@nx/module-federation**, a package that streamlines configuration and management of federated apps in Nx workspaces. Nx’s approach to Module Federation has been highlighted by the community and is now featured on [module-federation.io](https://module-federation.io/practice/monorepos/nx-for-module-federation.html).
149
149
150
150
For more details on how Module Federation works in Nx, check out the [technical overview](/concepts/module-federation/nx-module-federation-technical-overview) or catch one of our [live streams on Rspack and Module Federation](https://www.youtube.com/watch?v=_c4zjYm0pYE).
151
151
152
152
### Nx Console
153
153
154
154
Nx Console has become a key part of the "Nx experience." In 2024, we introduced several updates to make it even more useful.
155
155
156
-
One standout feature is the **Project Detail View**. With Project Crystal, Nx can dynamically infer targets from your configuration. You can see these [inferred tasks](/concepts/inferred-tasks) by running `nx show project my-project --web`, but now they’re directly available inside Nx Console. This gives you quick access to project details, command options, caching configurations, and more—right in your editor.
156
+
One standout feature is the **Project Detail View**. With Project Crystal, Nx can dynamically infer targets from your configuration. You can see these [inferred tasks](/concepts/inferred-tasks) by running `nx show project my-project --web`, but now they’re directly available inside Nx Console. This gives you quick access to project details, command options, caching configurations, and more, right in your editor.
@@ -205,15 +205,15 @@ We have already a lot of exciting features that we want to ship next year. Here
205
205
206
206
Nx Cloud already helps balance **speed and cost** by dynamically scaling agents based on PR size and workload. This ensures you only use the resources you need, keeping CI fast without unnecessary expense.
207
207
208
-
But there’s still untapped potential. **Local Agents** will let you connect your developer machine to Nx Cloud, allowing it to handle tasks when it’s underutilized. This reduces the need for extra CI agents while making better use of the machines you already have—without disrupting your workflow.
208
+
But there’s still untapped potential. **Local Agents** will let you connect your developer machine to Nx Cloud, allowing it to handle tasks when it’s underutilized. This reduces the need for extra CI agents while making better use of the machines you already have, without disrupting your workflow.
209
209
210
210
We have a proof-of-concept in place, and we're working to turn this into a full feature.
211
211
212
212
### Polygraph
213
213
214
214
Many teams manage **multiple monorepos or polyrepos** instead of consolidating everything into a single large repository. This often happens for practical reasons or as part of a gradual transition.
215
215
216
-
**Polygraph** gives teams some of the benefits of a larger monorepo—like consistency and visibility—**without needing to merge everything at once**. Even if a monorepo is the end goal, the goal of Polygraph is to help teams make progress early, rather than waiting until everything is in one place.
216
+
**Polygraph** gives teams some of the benefits of a larger monorepolike consistency and visibility**without needing to merge everything at once**. Even if a monorepo is the end goal, the goal of Polygraph is to help teams make progress early, rather than waiting until everything is in one place.
217
217
218
218
This is especially useful for **platform teams** responsible for maintaining consistency, security, and best practices across many repositories. Polygraph provides better control by allowing you to:
219
219
@@ -232,17 +232,17 @@ By moving core parts to Rust, we’re focusing on performance where it matters m
232
232
233
233
### Support for Long-Running Tasks
234
234
235
-
Nx is built around tasks that start and finish, but that doesn’t always fit workflows involving **dev servers, watch-mode builds, or background services**. These tasks run indefinitely, which can be tricky to manage—especially when other processes depend on them, like e2e tests that require a server to stay up.
235
+
Nx is built around tasks that start and finish, but that doesn’t always fit workflows involving **dev servers, watch-mode builds, or background services**. These tasks run indefinitely, which can be tricky to manage, especially when other processes depend on them, like e2e tests that require a server to stay up.
236
236
237
237
We’re working on adding support for **long-running tasks** that can run alongside regular build and test processes. This will make workflows smoother and help avoid the need for manual orchestration. The upcoming **Nx terminal UI rewrite** will reflect this, making it easier to track and visualize long-running processes alongside other tasks (more about that later in the article).
238
238
239
239
If you’re curious about the direction we’re heading, take a look at the ongoing [RFC](https://github.com/nrwl/nx/discussions/29025).
240
240
241
241
### Unified Monorepo Support
242
242
243
-
Nx already works well with both **integrated monorepos** driven by Nx plugins and **package-based monorepos** using npm, Yarn, or PNPM workspaces. Where things get trickier is mixing the two approaches—integrated plugins didn’t always align smoothly with workspace-based setups.
243
+
Nx already works well with both **integrated monorepos** driven by Nx plugins and **package-based monorepos** using npm, Yarn, or PNPM workspaces. Where things get trickier is mixing the two approaches since integrated plugins didn’t always align smoothly with workspace-based setups.
244
244
245
-
With **Nx Crystal Plugins**, we’re making it easier to blend these approaches. You get the automation and guardrails of Nx plugins while retaining the flexibility of workspace-based monorepos. This lets you enhance a PNPM, npm, or Yarn workspace with Nx’s powerful task orchestration, caching, and dependency management—without fully committing to an integrated setup.
245
+
With **Nx Crystal Plugins**, we’re making it easier to blend these approaches. You get the automation and guardrails of Nx plugins while retaining the flexibility of workspace-based monorepos. This lets you enhance a PNPM, npm, or Yarn workspace with Nx’s powerful task orchestration, caching, and dependency management, without fully committing to an integrated setup.
246
246
247
247
A great example of this is our [Next.js + Nx + PNPM course](/courses/pnpm-nx-next), where we show how to enhance a PNPM workspace with Nx. But this is just the beginning. Our goal is to make the experience even better, reducing friction and making it seamless to mix and match both models.
248
248
@@ -258,7 +258,7 @@ The goal is to reduce noise and surface the most important information for each
258
258
259
259
This redesign also ties into our work on **long-running tasks**. Processes like dev servers or background services will be easier to manage directly from the terminal, letting you see their status alongside regular build and test processes.
260
260
261
-
We want the terminal to feel more intuitive and stay out of your way—while giving you the details you need when you need them.
261
+
We want the terminal to feel more intuitive and stay out of your waywhile giving you the details you need when you need them.
0 commit comments