Check out a free preview of the full Angular Core course:
The "Narwal Rationale" Lesson is part of the full, Angular Core course featured in this preview video. Here's what you'd learn in this lesson:

Lukas explains what Narwal does for the project.

Get Unlimited Access Now

Transcript from the "Narwal Rationale" Lesson

>> Lukas Ruebbelke: So just to piggyback on the kind of setup that we did, the libs hold the common things that we can share. The apps hold our dashboards which typically consist of very specific thin components. Now we had a good question over the break, and that was where is the division between what is considered Angular CLI output.

[00:00:34] How much is the Angular CLI handling, what is the Nrwl extension bringing to the table, and then what is my own opinion, if you will? So, in the app folder, or in the apps folder, what is generated is for the most part an Angular CLI project. The difference is, normal extensions created a mechanism to have more than one application and common libs within a single project.

[00:01:14] And so what you see in the apps, in the libs folder, now, that is definitely, Nrwl. But for the most part, everything that's going into your apps and your libs is the Angular CLI. Now, what is, I would say considered my opinion or things that's just strictly Lukas is naming conventions.

[00:01:40] So I'm gonna call this cordata, well, that just makes sense to me. But as you notice we start to generate code that a lot of that is happening in the structure is very conventional. Therefore, it's very consistent and so 90% of what you are seeing, I would say, is strictly the Angular CLI.

[00:02:05] And then we're introducing gnarl extensions to create that additional layer of abstraction, where you're gonna have multiple applications within a single Workspace. And that's why, for instance, if you look in the nx.json, that you can see, it's keeping track actually the various projects. Now, the Angular team, because Nrwl in essence was created by Victor Savkin and Jeff Cross, who were part of the Angular core team for many, many years.

[00:02:35] They have adopted the format or they've updated it the Angular CLI to work of angular.json. And if you look in angular.json you notice that there is now also a mechanism for various projects. And so they've kind of converse on angular.json with the idea is that you're allowed to have more than one project.

[00:03:02] And so Nrwl extensions and the Angular team because the creators were on the Angular team. There was a pretty, I would say seamless transition from one to the other. So hope that makes sense and from here let's talk about components. And so we've laid the foundation, we've laid the structure, and we have some basic, albeit empty components.

[00:03:32] That I would like to flesh out and talk about this is how a component works. And so work through a single component and then we'll go from there.