Skip to content

Commit d51006f

Browse files
authored
Feature/angular 20 rework
* chore: bump to angular v20 * docs: migrate all the slides in english * refactor(docs:presentation): naming and format * refactor(docs:basics): rework basics chapter * refactor(docs:architecture): rework architecture chapter * refactor(docs:*): rework cli components and data binding chapter * refactor(app:01-hands-on): bootstrap now on the component and not on the module * refactor(docs:*): rework event lifecycle and server-communication chapter * refactor(apps:*): rework event lifecycle and server-communication chapter * refactor(apps:04-binding): rework 04-binding exercise * refactor(apps:05-events): rework 05-events exercice * refactor(apps:06-http): rework 06-http exercise * refactor(apps, docs): rework basic routing concepts * refactor(apps, docs): rework loop concepts * refactor(apps, docs): rework input and output concepts and workshop * feat(apps:*): implement zoneless * feat(apps:04-binding, 05-events): implement zoneless * feat(apps:06-http, 07-router): implement zoneless * feat(apps:08-ng-for): implement zoneless * feat(apps:09-input): implement zoneless * feat(apps:10-output): implement zoneless * refactor(apps,docs): rework service creation concepts * refactor(docs:dependency-injection): rework dependency injection chapter * refactor(pipes): rework pipe chapter * refactor(apps,docs): rewrite exercise 12-pipe-using documentation with detailed steps and concepts * refactor(apps,docs): rework custom pipe exercise with improved implementation and zoneless support * refactor(apps,docs): rework directive exercise and rename to control-flow, implement zoneless support * refactor(apps,docs): rework directive custom exercise and support * refactor(docs, apps): rework template driven form concepts * refactor(docs, app): rework reactive form chapter * refactor(doc, apps): rework lazyloading, guard and resolver chapter * refactor(docs, apps): rework interceptors chapter * refactor(docs, apps): rework teleportation chapter * refactor: remove useless workshop * fix(ci): remove token nx cloud * refactor(docs, apps): rework hostbinding and hostlistener workshop * refactor(docs, app): rework structural directive chapter * fix(apps): useless attribute validation for reactive forms * refactor(docs, apps): rework custom form control concepts * refactor(docs): rework change detection concepts * refactor(docs, apps): rework elf state management concept * fix(apps): undefined name when creating person * fix(server-express): random id is not correctly created * refactor(docs, apps): rework ngxs chapter * refactor(docs, apps): rework ngrx chapter * refactor(docs,apps): rework unit test chapter * refactor(docs): rework PWA chapter * refactor(docs): rework server side rendering chapter * chore: replace npm by bun * fix(apps): regression build and test after rework * docs(docs): rework library chapter * docs(docs):rework native federation chapter * docs(docs):rework flow school * refactor(docs,apps): rework performance chapter
1 parent 3bbffde commit d51006f

File tree

3,507 files changed

+50373
-86012
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,507 files changed

+50373
-86012
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: 'Install dependencies'
2+
description: Install node and bun, and finally install all dependencies of the project
3+
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: Use Bun version 1.x
8+
uses: oven-sh/setup-bun@v2
9+
10+
- name: Cache node_modules
11+
id: cache-modules
12+
uses: actions/cache@v4
13+
with:
14+
lookup-only: true
15+
path: '**/node_modules'
16+
key: bun-${{ hashFiles('bun.lockb', 'bun.lock') }}
17+
18+
- name: Install dependencies
19+
run: bun install --frozen-lockfile
20+
shell: bash

.github/workflows/tp.yml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
1-
name: TP CI Action
2-
3-
on: [ push ]
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
types: [ opened, reopened, synchronize ]
8+
9+
permissions:
10+
actions: read
11+
contents: read
412

513
jobs:
614
build-and-run-tests:
715
runs-on: ubuntu-latest
8-
916
steps:
1017
- name: Checkout
11-
uses: actions/checkout@v2
18+
uses: actions/checkout@v4
1219
with:
1320
fetch-depth: 0
1421

15-
- name: Use Node.js 20.x
16-
uses: actions/setup-node@v3
17-
with:
18-
node-version: 20.x
19-
cache: 'npm'
20-
cache-dependency-path: '**/package-lock.json'
21-
22-
- name: Install last version of npm
23-
run: npm install -g npm@latest
24-
25-
- name: Install dependencies
26-
run: npm install ci
22+
- name: Install bun, and dependencies
23+
uses: ./.github/actions/install-dependencies
2724

28-
- name: Run lint
29-
run: npm run lint:ci
25+
- name: Derive appropriate SHAs for base and head for `nx affected` commands
26+
uses: nrwl/nx-set-shas@v4
27+
with:
28+
main-branch-name: 'main'
3029

31-
- name: Run build
32-
run: npm run build:ci
30+
# This line is needed for nx affected to work when CI is running on a PR
31+
- run: git branch --track main origin/main || exit 0
3332

34-
- name: Run tests
35-
run: npm run test:ci
33+
- run: bunx nx affected -t lint test build --parallel=5 --exclude=docs

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,6 @@ workshop/dist
5353
.fleet
5454

5555
.nx/cache
56-
.nx/workspace-data
56+
.nx/workspace-data
57+
.cursor/rules/nx-rules.mdc
58+
.github/instructions/nx.instructions.md

.prettierignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
/package-lock.json
2626
/yarn.lock
2727

28-
*.md
2928

3029
/workshop/dist
3130

apps/01-hands-on-solution/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
"buildTarget": "01-hands-on-solution:build:development"
6262
}
6363
},
64-
"defaultConfiguration": "development"
64+
"defaultConfiguration": "development",
65+
"continuous": true
6566
},
6667
"extract-i18n": {
6768
"executor": "@angular-devkit/build-angular:extract-i18n",

apps/01-hands-on-solution/src/app/app.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
import { Component } from '@angular/core';
1+
import { ChangeDetectionStrategy, Component } from '@angular/core';
2+
import { MatCardModule } from '@angular/material/card';
3+
import { MatToolbarModule } from '@angular/material/toolbar';
24

35
@Component({
46
selector: 'sfeir-app',
57
templateUrl: './app.component.html',
68
styleUrls: ['./app.component.scss'],
7-
standalone: false,
9+
imports: [MatCardModule, MatToolbarModule],
10+
changeDetection: ChangeDetectionStrategy.OnPush,
811
})
912
export class AppComponent {
1013
name = 'SFEIR - LUXEMBOURG';

apps/01-hands-on-solution/src/app/app.module.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

apps/01-hands-on-solution/src/app/material-design.module.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
import { enableProdMode } from '@angular/core';
2-
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1+
import { enableProdMode, provideZonelessChangeDetection } from '@angular/core';
32

4-
import { AppModule } from './app/app.module';
3+
import { bootstrapApplication } from '@angular/platform-browser';
4+
import { AppComponent } from './app/app.component';
55
import { environment } from './environments/environment';
66

77
if (environment.production) {
88
enableProdMode();
99
}
1010

11-
platformBrowserDynamic()
12-
.bootstrapModule(AppModule)
13-
.catch(err => console.error(err));
11+
bootstrapApplication(AppComponent, { providers: [provideZonelessChangeDetection()] }).catch(console.error);

apps/01-hands-on-solution/src/polyfills.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@
4242
*
4343
*/
4444

45-
/***************************************************************************************************
46-
* Zone JS is required by default for Angular itself.
47-
*/
48-
import 'zone.js'; // Included with Angular CLI.
49-
5045
/***************************************************************************************************
5146
* APPLICATION IMPORTS
5247
*/

0 commit comments

Comments
 (0)