Closed vsavkin closed 3 years ago
This issue has been automatically marked as stale because it hasn't had any recent activity. It will be closed in 14 days if no further activity occurs. If we missed this issue please reply to keep it active. Thanks for being a part of the Nx community! 🙏
Is there a ticket for documentation on integrating .Net Core into Nx that I can watch?
Would be great to have separate tickets for each language, maybe ETA or proxy for it.
(Rust pls 😆)
As Vue and Nuxt are not supported by the NX core, but rather just with a third-party plugin https://github.com/ZachJW34/nx-plus which does not work in my case (version conflicts / outdated packages - who knows), is it possible to get those running without any external plugins?
Any change in plans to support the Vue ecosystem natively? Spending days already to get things working without any success.
This issue has been closed for more than 30 days. If this issue is still occuring, please open a new issue with more recent context.
Nx 11 Plans
Nx 9 => Nx 10 Highlights
Computation caching. If your or your team member has already built or tested similar code, Nx will use their results to speed up the command instead of rebuilding or retesting everything from scratch. This is the most important addition to core capabilities of Nx since the tool's creation. It helps build much larger projects.
Custom workspace layouts. The core of Nx always supported custom layouts, but plugins expected the apps and libs folders to be there. Now the layout can be configured in
nx.json
and is respected by all core plugins. We also created an "OSS" preset to make migration from Lerna easier. A lot of open source projects, including Nx itself, are now built with Nx.Optimizing performance. Nx collects metadata about a workspace to be able to use caching and code change analysis. This metadata is then stored on disk (in node_modules), so Nx doesn't have to recompute it from scratch every time. For large projects, however, even checking if this metadata is up to date could take hundreds of milliseconds, which is unacceptable. We reworked this to take advantage of git, which resulted in 10x improvements.
Dep graph. We reworked the dep graph feature to handle much larger workspaces. Both, in terms of performance (you can actually render it), and in terms of ergonomics (you can make sense of it).
React. We improved our support for the React ecosystem, including a much more solid support for Next.js. We also added initial support for Gatsby.
Angular. We added support for Angular 10. We also added the
npx make-angular-cli-faster
command to add the Nx computation cache to any Angular CLI project.The Cypress, Storybook, Jest, ESLint plugins got updated to make sure they work with the latest versions of the tools.
Community plugins. We made creating Nx plugins easier.
npx create-nx-plugins
scaffolds a Nx plugin project. We have guides and videos walking you through the process. And now you can add your plugins to the official docs site and tonx list
.nx.dev got more high-quality guides. Plus, we integrated a much better full-text search.
Nx Console--the VS Code plugin for Nx. We fixed bugs and improved performance.
We love the Nx community. The Nx Community Slack is a great place to get your questions answered. You can subscribe to Nx Newsletter to get updates from the core team. "Nx Office Hours" by Brandon Roberts is something I'm personally very happy with. I hope other tech communities do similar stuff.
Nx is Different
The Nx core team spends more time working on large projects built with Nx than on Nx itself. We work with people who aren't familiar with Nx. We work with legacy projects ported to Nx exercising all possible edge cases. Different CI systems, different dev workflows. It's a lot of feedback.
I remember chatting with a contributor to another build tool. I mention that some folks find the tool hard to use. The person replied that it doesn't matter if it's hard to use. "They will use it regardless" And, of course, they didn't.
There is almost nothing in software itself that can keep you honest. It's too malleable. I hope because we work on different projects with so many different people, Nx will continue solving real problems and be pleasant to use.
Nx 11 Plans
Most of what we plan are incremental improvements: making things faster, fixing bugs, clarifying documentation. Every plugin will receive some attention. So, even though you don't see, for instance, Storybook mentioned below, we will improve our Storybook support, fix issues etc..
Node
Nx is already a great tool for building Node apps and libs. You can generate projects. You can test, lint, deploy them. You can reuse code. We are going to solidify the Node story. We are going to add the Node flavour of docs, videos, tutorials. We are planning to add affordances simplifying using Docker, affordances for creating e2e tests for APIs etc..
React
We are going to merge the Gatsby plugin into the main repo. We are planning to add initial support for React Native. We are also going to release more high-quality guides and free video courses made for React folks.
Angular
We are going to add support for Angular 11.
Java
The core of Nx is technology agnostic. At Nrwl, we develop a Java service in our private Nx monorepo. It's part of the same dependency graph. Caching works just as well. We also put a lot of effort in improving the run-commands builder, so you can easily integrate any technology into an Nx workspace. So what are we doing here?
First, we are going to document how to add Java/.Net/Golang/Rust to your Nx workspace. Second, we will add basic affordances for Gradle-based Java projects. So you can add a Spring Boot application to your Nx workspace without having to "figure it out".
Incremental Builds
The Nx distributed computation cache helps you build much larger applications. You don't have to rebuild the whole application on your machine. Instead, you reuse the computation done by your team-mates or CI.
You can already do it with Nx, as shown here. But because WebPack isn't optimized for this use case, it's awkward, and we can do a lot better. So we will focus on making setting up good dev experience for extremely-large applications easy.