Replies: 13 comments 17 replies
-
Great roadmap @vsavkin! I've got a project at the moment where we're building out beautiful DDD libraries (via generators, of course!) with a mix of nx-dotnet and NestJS micro-services. We're rewriting our scripts to use Dapr at the heart. I'll open an issue and share some knowledge when I make more progress. Would love it if we can be a part of getting Dapr support into Nx's roadmap, based on what we're learning 🥇 |
Beta Was this translation helpful? Give feedback.
-
Angular 13 supportWait, is Angular 13 support only coming to Nx 14? 🤔 |
Beta Was this translation helpful? Give feedback.
-
So when again the 14 is about to be released? I wanted to upgrade to Angular 13, and now, I won't be able... cause I need to wait for other stuff I don't use?( Can we do some magic with the minor version? |
Beta Was this translation helpful? Give feedback.
-
Awesome! Currently, I generate ngmodule inside the component file and I move all my components to work in this way. So my thoughts: Today nx generates a lib with empty ngmodule, which is not necessary because the component and the module should not import in another ngmodule and should just export both by index file: component-module and component. otherwise, they lose tree shake ability:
I think the library should generate an empty lib folder (without an empty ngmodule). and every component will have the option to export it using index.ts file. import and exports Instead of import the
For webpack tree shake should be this way?
But to do that please support generating paths in tsconfig from the generator:
Storybook and SCAM Also, the storybook doesn't generate stories to components which are SCAMs. because they are not imported in the main library module. So this is why the generator won't generate stories for SCAM component. this is should be fixed as well. |
Beta Was this translation helpful? Give feedback.
-
A lot of packages we use such as firebase have converted into ESM. What is your take on this, and how will it affect NX? |
Beta Was this translation helpful? Give feedback.
-
I want to start a new project with NX 14 :))) how long I should wait? |
Beta Was this translation helpful? Give feedback.
-
I'm assuming some of these docs improvements can help close out #5580? With the new workspace and project config structure and selective tsconfig hashing, it's not clear how we should be configuring Nx |
Beta Was this translation helpful? Give feedback.
-
Would love to see Yarn v3 make its way into Nx 14! >> feat(core): upgrade yarn v1 => v3 [berry] && replace npx with yarn dlx |
Beta Was this translation helpful? Give feedback.
-
Does Nx keep supporting Stylus for non-Angular projects? I'm wondering about:
(Don't get me wrong😅 I know Stylus is still alive. stylus/stylus#2637) |
Beta Was this translation helpful? Give feedback.
-
What about "ng-update" and "packageGroup" used with migrate? I think that would solve #5648 I would also love to see some documentation update for #8435 |
Beta Was this translation helpful? Give feedback.
-
Two questions:
|
Beta Was this translation helpful? Give feedback.
-
Any plans for create react microfrontends using module federation? |
Beta Was this translation helpful? Give feedback.
-
For those getting an error while upgrading to nx 14 with yarn 2+ (I don't know if this also happens when on yarn 1)
yarn cache clean worked for me |
Beta Was this translation helpful? Give feedback.
-
Read this post to learn about what is new in Nx 13.
Nx 14 Roadmap
As you might know, we alternate between focusing on features and focusing on quality. Nx 10 -> Nx 11 was mainly focused on features, Nx 11 -> Nx 12 on bug fixing and quality, Nx 12 -> Nx 13 on features, and now it's time to attend to stability, performance, and quality.
There will be, of course, plenty of new features, just smaller in scope compared to the last six months.
Core
Workspace Analysis in the Background
In Nx 13, we have landed initial support for running workspace analysis in a daemon process. Currently, you have to opt in to use it, but we will make it the default soon. With this, we can precompute the project graph before the developer invokes a command requiring it. This should reduce the perceived overhead of workspace analysis to basically 0.
Streamlined Configuration
An Nx workspace has the following configuration files:
workspace.json
andproject.json
files optional.Splitting Workspace Package
We currently have three packages implementing the CLI behavior: cli, tao, and workspace, and their responsibilities overlap. This doesn't affect Nx uses, but affects Nx contributors. It's unclear what should live where etc. We are going to refactor this into two packages: cli and workspace (only containing generator, executors and some utils).
Improved Analysis of Third-Party Packages (e.g., NPM)
Nx builds a project graph by looking at the source of your monorepo. It then uses it to power its computation cache and
affected:*
commands. There are however other things in the workspace that aren't projects per se, but can have a similar impact: they can affect things, they can change the computation hash of a run. Third-party packages are such things.Currently, we use the root-level
package.json
to create the list of npm packages and then we treat them as "special" projects. The result is mixed: it works well in some cases but is confusing in others. We have already started to rework this. This clean up should make this functionality a lot more reliable.Nx Core & Nx for Publishable Libs
You don't have to use any Nx plugins to use Nx. Using Nx core by itself gives you computation caching,
affected:*
, dep graph viz, VSCode support, github integration and more. Doing this was always possible, but the experience wasn't perfect (e.g., we lacked good docs). We did a lot of work on it in the last couple of months to simplify the config, and we are finishing up this work now.Our goal is for folks to see no good reason why all Yarn workspaces projects should not add Nx to get all the good stuff it offers.
React
Some React developers primarily use Nx Core when using Nx. They might use say the
@nrwl/jest
plugin to test their applications, but they build and serve the applications themselves using npm scripts. Even though this is totally fine, we think the following Nx plugins can really level up your productivity:@nrwl/react
,@nrwl/next
,@nrwl/gatsby
and@nrwl/react-native
.Some notable changes that are coming:
We are also putting a lot of effort into making Nx the best tool for creating publishable React libraries.
Angular
As always, we put a lot of effort into making the best tools for building modern Angular applications. Some highlights:
Node/JS
Some Node.js developers primarily use Nx Core when using Nx. They might use the say
@nrwl/jest
plugin to test their applications, but they build and run the applications or libraries directly using npm scripts.We want Nx to be the best tool for building publishable JS/TS libraries. A lot of popular open sources libraries and tools are already built with Nx (including Nx itself), but we working hard to make Nx the default choice for many folks.
We are going to introduce the
@nrwl/js
package to contain executors and generators useful for anyone building JS/TS libraries. All the functionality scattered across several packages now will be moved to @nrwl/js, and new functionally will be added as well (e.g, swc executor). And, of course, automatic migrations will update existing users to use the new package. We are also adding first-class support for publishing npm packages. It has always been possible, but we think we can make it a bit simpler for folks.We also continue to improve our support for building microservices. One of the highlights here is releasing a version of
@nrwl/nest
that doesn’t depend on Angular Devkit. NestJS users may not know about it, but the official NestJS tooling (which we rely on) is built with Angular Devkit. We have our own implementation of the same functionality that doesn’t use Angular Devkit. It’s simpler, takes less space, so we think folks may prefer it instead.Nx Console
Some highlights:
Storybook
@storybook/html
to an existing library or applicationVersion Bumps
As always we will update the versions of ESlint, Jest, Cypress as they get released, and will do our best to provide migrations for folks.
Beta Was this translation helpful? Give feedback.
All reactions