Newer
Older

OZGCloud
committed
## Common information to Nx from Nx
This project was generated using [Nx](https://nx.dev).
[Nx Documentation](https://nx.dev/angular)
[10-minute video showing all Nx features](https://nx.dev/angular/getting-started/what-is-nx)
[Interactive Tutorial](https://nx.dev/angular/tutorial/01-create-application)
## Adding capabilities to your workspace
Nx supports many plugins which add capabilities for developing different types of applications and different tools.
These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well.
Below are our core plugins:
- [Angular](https://angular.io)
- `ng add @nrwl/angular`
- [Node](https://nodejs.org)
- `ng add @nrwl/node`
There are also many [community plugins](https://nx.dev/nx-community) you could add.
## Generate a library

OZGCloud
committed
Run `ng g lib my-lib` to generate a library.
Libraries are sharable across libraries and applications. They can be imported from `@goofy-client/mylib`.

OZGCloud
committed
## Generate a Component
Run `ng g component my-component --project=my-app` to generate a new component.

OZGCloud
committed
</br>

OZGCloud
committed
#
</br>

OZGCloud
committed
## Allgemein
Man kann mit Hilfe von `nx --help` eine Liste von Befehlen mit kurzen Erläuterung bekommen.

OZGCloud
committed
</br>

OZGCloud
committed
### NG/NX short explanation

OZGCloud
committed
- Angular ClI = **ng**
- Nx Cli = **nx**

OZGCloud
committed
Nx Cli baut auf Angular Cli auf ist jedoch wesentlich schneller bspw. durch
- _advanced code analysis_
- _computation caching (reuse previous results)_

OZGCloud
committed
Sofern die Commands für das Generieren von Code genutzt werden, so ist der generierte Code immer derselbe!

OZGCloud
committed
### `Install NX global`
npm install -g nx

OZGCloud
committed
Mit `nx` bzw. `nx --list` krieg man eine Liste alle verfügbaren, schon von nx **vordefinierten** commands an

OZGCloud
committed
</br>

OZGCloud
committed
## Anbei ein Ausschnitt der verfügbaren Befehle/Scripte und einer kurzen Erläuterung.
| Command | Description | Examples |
| :------ | :------ | :----- |
| `start` | Startet den Client mit dem Port **4300** und der **proxy.conf.json** | `npm start / npm run start`
| `build` | Baut das Projekt(und cached den build) | `npm run build`
| `test` | Führt alle Test's aus(***app*** + ***libraries***) | `npm run test / npm test`
| `test:cov` | Führt alle Test's aus und zeigt am Ende eine Übersicht der Testabdeckung | `npm run test:cov`
| `lint` | Führt das ***eslint*** für die, von den lokalen Änderungen **direkt** betroffenen, libraries aus | `npm run lint`
| `dep-graph` | Öffnet ein Fenster zur graphischen Veranschaulichung des Zusammenspielst von app, e2e und der einzelnen libraries | `npm run dep-graph`
| `cypress:open` | Öffnet ein Fenster mit cpress-runner für die Integrationtest's welche auch gleich da ausgeführt werden können | `npm run cypress:open`
| `test:lib` | Führt alle Test's einer library aus(mit watch mode) | `npm run test:lib vorgang`
| `test:debug:lib` | Führt alle Test's einer library und zeigt zusätzlich eine genauere Fehlermeldung an(mit watch mode) | `npm run test:debug:lib vorgang`
</br>
</br>

OZGCloud
committed
## Affected
Hier eine kurze Liste mit den wichtigsten Befehlen:

OZGCloud
committed
`affected:*`: </br>
Bezieht sich meistens auf die von den lokalen Änderungen betroffenen Libraries, kann sich aber auch auf die betroffenen Projekte beziehen.

OZGCloud
committed
- `affected:libs`
Zeigt eine Liste der Libraries die von den lokalen Änderungen betroffen sind </br>
(hier kann man zusätzlich auch den `dep-graph` zur Hand nehmen für eine bessere Übersicht)
- `affected:test`
Führt die Test's für die Libraries aus die von den lokalen Änderungen betroffen sind.</br>
(inklusive der app Test's)
- `affected:lint`
Führt das eslint über die betroffenen Libraries aus. </br>
Man bekommt am Ende eine Zusammenfassung von den Warnings und Errors.
- `affected:dep-graph`
Selektiert die von den lokalen Änderung betroffenen Libraries vor und stellt diese in Rot dar. </br>
(sonst identisch zu `dep-graph`)

OZGCloud
committed
`affected:apps`, `affected:e2e`, `affected:build` beziehen sich jeweils auf ganze Projekte/Apps.