Skip to content

Commit 24ef78a

Browse files
committed
Add frontend-angular version 20.0.0
1 parent 1c06079 commit 24ef78a

File tree

490 files changed

+42573
-12075
lines changed

Some content is hidden

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

490 files changed

+42573
-12075
lines changed

README.en.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Fullstack Application : Angular 19, Node.js 22 and Java 21
1+
# Fullstack Application : Angular 20, Node.js 22 and Java 21
22

33
<img src="./ui/ganatan-about-github.png" align="right" width="140" height="140" alt="logo ganatan">
44

@@ -15,7 +15,7 @@
1515

1616
| Component | Description |
1717
|------------------------|---------------------------------------------------------------|
18-
| **Frontend** | Angular 19 — SPA with Routing, SSR, PWA, SEO |
18+
| **Frontend** | Angular 20 — SPA with Routing, SSR, PWA, SEO |
1919
| **Backend JavaScript (ESM)** | Node.js 22 + Express — REST API with mocked data or database |
2020
| **Backend JavaScript (CJS)** | CJS variant, same structure as ESM version |
2121
| **Backend TypeScript** | Node.js 22 + TypeScript — Typed REST API with data or database |
@@ -47,7 +47,7 @@
4747

4848
## 📦 Tech Stack
4949

50-
![Angular](https://img.shields.io/badge/angular-19-red)
50+
![Angular](https://img.shields.io/badge/angular-20-red)
5151
![Node](https://img.shields.io/badge/node-22.x-blue)
5252
![Java](https://img.shields.io/badge/java-21-brightgreen)
5353
![Docker](https://img.shields.io/badge/Docker-24.x-blue?logo=docker)
@@ -77,7 +77,7 @@
7777

7878
<p align="center">
7979
<a href="https://angular.ganatan.com/">
80-
<img src="https://media.giphy.com/media/9BuBBLc7keCgRojp92/giphy.gif" alt="Angular 19 Example Application"/>
80+
<img src="https://media.giphy.com/media/9BuBBLc7keCgRojp92/giphy.gif" alt="Angular 20 Example Application"/>
8181
</a>
8282
</p>
8383

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Application Fullstack : Angular 19, Node.js 22 et Java 21
1+
# Application Fullstack : Angular 20, Node.js 22 et Java 21
22

33
<img src="./ui/ganatan-about-github.png" align="right" width="140" height="140" alt="logo ganatan">
44

@@ -15,7 +15,7 @@
1515

1616
| Composant | Description |
1717
|------------------------|---------------------------------------------------------------|
18-
| **Frontend** | Angular 19 — SPA avec Routing, SSR, PWA, SEO |
18+
| **Frontend** | Angular 20 — SPA avec Routing, SSR, PWA, SEO |
1919
| **Backend Javascript (ESM)** | Node.js 22 + Express — API REST avec données mockées ou BDD |
2020
| **Backend Javascript (CJS)** | Variante CJS, même structure que la version ESM |
2121
| **Backend TypeScript** | Node.js 22 + TypeScript — API typée avec données ou BDD |
@@ -48,7 +48,7 @@
4848

4949
## 📦 Stack technologique
5050

51-
![Angular](https://img.shields.io/badge/angular-19-red)
51+
![Angular](https://img.shields.io/badge/angular-20-red)
5252
![Node](https://img.shields.io/badge/node-22.x-blue)
5353
![Java](https://img.shields.io/badge/java-21-brightgreen)
5454
![Docker](https://img.shields.io/badge/Docker-24.x-blue?logo=docker)
@@ -81,7 +81,7 @@
8181

8282
<p align="center">
8383
<a href="https://angular.ganatan.com/">
84-
<img src="https://media.giphy.com/media/9BuBBLc7keCgRojp92/giphy.gif" alt="Angular 19 Example Application"/>
84+
<img src="https://media.giphy.com/media/9BuBBLc7keCgRojp92/giphy.gif" alt="Angular 20 Example Application"/>
8585
</a>
8686
</p>
8787

frontend-angular-19/.dockerignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
node_modules
2+
npm-debug.log
3+
Dockerfile
4+
.dockerignore
5+
.env
6+
.git
7+
.gitignore

frontend-angular-19/.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Editor configuration, see https://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
indent_style = space
7+
indent_size = 2
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.ts]
12+
quote_type = single
13+
ij_typescript_use_double_quotes = false
14+
15+
[*.md]
16+
max_line_length = off
17+
trim_trailing_whitespace = false

frontend-angular-19/.gitignore

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.
2+
3+
# Compiled output
4+
/dist
5+
/tmp
6+
/out-tsc
7+
/bazel-out
8+
9+
# Node
10+
/node_modules
11+
npm-debug.log
12+
yarn-error.log
13+
14+
# IDEs and editors
15+
.idea/
16+
.project
17+
.classpath
18+
.c9/
19+
*.launch
20+
.settings/
21+
*.sublime-workspace
22+
23+
# Visual Studio Code
24+
.vscode/*
25+
!.vscode/settings.json
26+
!.vscode/tasks.json
27+
!.vscode/launch.json
28+
!.vscode/extensions.json
29+
.history/*
30+
31+
# Miscellaneous
32+
/.angular/cache
33+
.sass-cache/
34+
/connect.lock
35+
/coverage
36+
/libpeerconnection.log
37+
testem.log
38+
/typings
39+
40+
# System files
41+
.DS_Store
42+
Thumbs.db

frontend-angular-19/Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM node:20
2+
3+
WORKDIR /app
4+
5+
COPY package*.json ./
6+
7+
RUN npm install
8+
9+
COPY . .
10+
11+
RUN npm run build
12+
13+
EXPOSE 4000
14+
15+
CMD ["npm", "run", "serve"]

frontend-angular-19/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License
2+
3+
Copyright (c) 2018-2025 Ganatan
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

frontend-angular-19/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
### Installation
3+
* `npm install` (installing dependencies)
4+
* `npm outdated` (verifying dependencies)
5+
6+
### Developpement
7+
* `npm run start`
8+
* in your browser [http://localhost:4200](http://localhost:4200)
9+
10+
## Linter
11+
* `npm run lint`
12+
13+
## Tests
14+
* `npm run test`
15+
* `npm run coverage`
16+
17+
### Compilation
18+
* `npm run build`
19+
20+
### Production
21+
* `npm run serve`
22+
* in your browser [http://localhost:4000](http://localhost:4000)
23+
24+
25+
### Author
26+
* Author : danny

frontend-angular-19/angular.json

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"angular-starter": {
7+
"projectType": "application",
8+
"schematics": {},
9+
"root": "",
10+
"sourceRoot": "src",
11+
"prefix": "app",
12+
"architect": {
13+
"build": {
14+
"builder": "@angular-devkit/build-angular:application",
15+
"options": {
16+
"outputPath": "dist/angular-starter",
17+
"index": "src/index.html",
18+
"browser": "src/main.ts",
19+
"polyfills": [
20+
"zone.js"
21+
],
22+
"tsConfig": "tsconfig.app.json",
23+
"assets": [
24+
{
25+
"glob": "**/*",
26+
"input": "public"
27+
},
28+
"src/assets",
29+
"src/sitemap.xml",
30+
"src/robots.txt"
31+
],
32+
"styles": [
33+
"node_modules/@fortawesome/fontawesome-free/css/all.min.css",
34+
"node_modules/bootstrap/dist/css/bootstrap.min.css",
35+
"src/assets/params/css/fonts.googleapis.min.css",
36+
"src/styles.css"
37+
],
38+
"scripts": [
39+
"node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
40+
],
41+
"server": "src/main.server.ts",
42+
"prerender": true,
43+
"ssr": {
44+
"entry": "src/server.ts"
45+
}
46+
},
47+
"configurations": {
48+
"production": {
49+
"budgets": [
50+
{
51+
"type": "initial",
52+
"maximumWarning": "1MB",
53+
"maximumError": "1MB"
54+
},
55+
{
56+
"type": "anyComponentStyle",
57+
"maximumWarning": "4kB",
58+
"maximumError": "8kB"
59+
}
60+
],
61+
"outputHashing": "all",
62+
"serviceWorker": "ngsw-config.json"
63+
},
64+
"development": {
65+
"optimization": false,
66+
"extractLicenses": false,
67+
"sourceMap": true,
68+
"fileReplacements": [
69+
{
70+
"replace": "src/environments/environment.ts",
71+
"with": "src/environments/environment.development.ts"
72+
}
73+
]
74+
}
75+
},
76+
"defaultConfiguration": "production"
77+
},
78+
"serve": {
79+
"builder": "@angular-devkit/build-angular:dev-server",
80+
"configurations": {
81+
"production": {
82+
"buildTarget": "angular-starter:build:production"
83+
},
84+
"development": {
85+
"buildTarget": "angular-starter:build:development"
86+
}
87+
},
88+
"defaultConfiguration": "development"
89+
},
90+
"extract-i18n": {
91+
"builder": "@angular-devkit/build-angular:extract-i18n"
92+
},
93+
"test": {
94+
"builder": "@angular-devkit/build-angular:karma",
95+
"options": {
96+
"polyfills": [
97+
"zone.js",
98+
"zone.js/testing"
99+
],
100+
"tsConfig": "tsconfig.spec.json",
101+
"assets": [
102+
{
103+
"glob": "**/*",
104+
"input": "public"
105+
}
106+
],
107+
"styles": [
108+
"src/styles.css"
109+
],
110+
"scripts": []
111+
}
112+
},
113+
"lint": {
114+
"builder": "@angular-eslint/builder:lint",
115+
"options": {
116+
"lintFilePatterns": [
117+
"src/**/*.ts",
118+
"src/**/*.html"
119+
]
120+
}
121+
}
122+
}
123+
}
124+
},
125+
"cli": {
126+
"schematicCollections": [
127+
"angular-eslint"
128+
],
129+
"analytics": false
130+
}
131+
}

frontend-angular-19/eslint.config.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// @ts-check
2+
const eslint = require("@eslint/js");
3+
const tseslint = require("typescript-eslint");
4+
const angular = require("angular-eslint");
5+
6+
module.exports = tseslint.config(
7+
{
8+
files: ["**/*.ts"],
9+
extends: [
10+
eslint.configs.recommended,
11+
...tseslint.configs.recommended,
12+
...tseslint.configs.stylistic,
13+
...angular.configs.tsRecommended,
14+
],
15+
processor: angular.processInlineTemplates,
16+
rules: {
17+
"@angular-eslint/directive-selector": [
18+
"error",
19+
{
20+
type: "attribute",
21+
prefix: "app",
22+
style: "camelCase",
23+
},
24+
],
25+
"@angular-eslint/component-selector": [
26+
"error",
27+
{
28+
type: "element",
29+
prefix: "app",
30+
style: "kebab-case",
31+
},
32+
],
33+
"@typescript-eslint/no-explicit-any": "off",
34+
"@typescript-eslint/no-unused-vars": [
35+
"error",
36+
{ "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }
37+
],
38+
"no-undefined": "off",
39+
"no-var": "error",
40+
"prefer-const": "error",
41+
"func-names": "error",
42+
"id-length": "error",
43+
"newline-before-return": "error",
44+
"space-before-blocks": "error",
45+
"no-alert": "error"
46+
},
47+
},
48+
{
49+
files: ["**/*.html"],
50+
extends: [
51+
...angular.configs.templateRecommended,
52+
...angular.configs.templateAccessibility,
53+
],
54+
rules: {},
55+
}
56+
);

0 commit comments

Comments
 (0)