Skip to content

Commit 91624f5

Browse files
ianliuwk1019claude
andauthored
feat: #1022 Angular code migration (#1038)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent af9c7ab commit 91624f5

195 files changed

Lines changed: 17719 additions & 16201 deletions

File tree

Some content is hidden

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

.github/workflows/analysis.yml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,6 @@ jobs:
7878
node_version: 24
7979
knip_config: .github/knip.json
8080

81-
map-contract:
82-
name: Map Contract (public)
83-
if: (! github.event.pull_request.draft)
84-
runs-on: ubuntu-24.04
85-
steps:
86-
- uses: actions/checkout@v7
87-
- name: Verify Leaflet map init/layout contract
88-
run: bash scripts/check-map-contract.sh
89-
9081
# https://github.com/marketplace/actions/aqua-security-trivy
9182
trivy:
9283
name: Trivy Security Scan
@@ -119,7 +110,7 @@ jobs:
119110
# ==========================================================================
120111
results:
121112
name: Analysis Results
122-
needs: [tests-admin, tests-api, tests-public, map-contract, trivy]
113+
needs: [tests-admin, tests-api, tests-public, trivy]
123114
if: always()
124115
runs-on: ubuntu-24.04
125116
timeout-minutes: 1

admin/package.json

Lines changed: 76 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,76 @@
1-
{
2-
"name": "fom-admin",
3-
"version": "0.0.1",
4-
"license": "MIT",
5-
"scripts": {
6-
"start:admin": "ng serve --configuration development --host=0.0.0.0",
7-
"build:admin": "ng build --configuration production",
8-
"test-unit": "jest --coverage",
9-
"test-unit-watch": "jest --watch=true"
10-
},
11-
"private": true,
12-
"engines": {
13-
"node": ">=26.0.0 || ^24.15.0 || ^22.22.3"
14-
},
15-
"dependencies": {
16-
"@angular/animations": "^22.0.1",
17-
"@angular/cdk": "^22.0.1",
18-
"@angular/common": "^22.0.1",
19-
"@angular/compiler": "^22.0.1",
20-
"@angular/core": "^22.0.1",
21-
"@angular/forms": "^22.0.1",
22-
"@angular/localize": "^22.0.1",
23-
"@angular/material": "^22.0.1",
24-
"@angular/platform-browser": "^22.0.1",
25-
"@angular/platform-browser-dynamic": "^22.0.1",
26-
"@angular/router": "^22.0.1",
27-
"@ng-bootstrap/ng-bootstrap": "^21.0.0",
28-
"@ngx-dropzone/cdk": "^22.0.0",
29-
"@ngx-dropzone/material": "^22.0.0",
30-
"@popperjs/core": "^2.11.8",
31-
"@rxweb/reactive-form-validators": "^13.0.1",
32-
"@types/file-saver-es": "^2.0.3",
33-
"@types/luxon": "^3.4.2",
34-
"apexcharts": "^5.10.3",
35-
"aws-amplify": "^6.16.3",
36-
"bootstrap": "^5.3.3",
37-
"file-saver-es": "^2.0.5",
38-
"json-2-csv": "5.5.11",
39-
"jwt-decode": "^4.0.0",
40-
"leaflet": "^1.9.4",
41-
"leaflet.markercluster": "^1.5.3",
42-
"luxon": "^3.5.0",
43-
"ng-apexcharts": "^2.0.0",
44-
"ngx-bootstrap": "^21.0.0",
45-
"remeda": "^2.25.0",
46-
"rxjs": "^7.8.2",
47-
"tslib": "^2.8.0",
48-
"zone.js": "^0.16.0"
49-
},
50-
"devDependencies": {
51-
"@angular-devkit/architect": "^0.2200.1",
52-
"@angular-devkit/core": "^22.0.1",
53-
"@angular-eslint/builder": "^22.0.0",
54-
"@angular-eslint/eslint-plugin": "^22.0.0",
55-
"@angular-eslint/eslint-plugin-template": "^22.0.0",
56-
"@angular-eslint/schematics": "^22.0.0",
57-
"@angular-eslint/template-parser": "^22.0.0",
58-
"@angular/build": "^22.0.6",
59-
"@angular/cli": "^22.0.1",
60-
"@angular/compiler-cli": "^22.0.1",
61-
"@noble/hashes": "^2.2.0",
62-
"@types/jest": "^30.0.0",
63-
"@types/leaflet": "^1.9.12",
64-
"@types/leaflet.markercluster": "^1.5.4",
65-
"@typescript-eslint/eslint-plugin": "^8.10.0",
66-
"@typescript-eslint/parser": "^8.10.0",
67-
"eslint": "^10.0.0",
68-
"eslint-config-prettier": "^10.1.0",
69-
"jest": "^30.3.0",
70-
"jest-environment-jsdom": "^30.3.0",
71-
"jest-preset-angular": "^17.0.0",
72-
"ts-jest": "^29.4.4",
73-
"ts-node": "^10.9.2",
74-
"typescript": "^6.0.3",
75-
"typescript-eslint": "^8.60.1"
76-
}
77-
}
1+
{
2+
"name": "fom-admin",
3+
"version": "0.0.1",
4+
"license": "MIT",
5+
"scripts": {
6+
"start:admin": "ng serve --configuration development --host=0.0.0.0",
7+
"build:admin": "ng build --configuration production",
8+
"test-unit": "jest --coverage",
9+
"test-unit-watch": "jest --watch=true"
10+
},
11+
"private": true,
12+
"engines": {
13+
"node": ">=26.0.0 || ^24.15.0 || ^22.22.3"
14+
},
15+
"dependencies": {
16+
"@angular/animations": "^22.0.1",
17+
"@angular/cdk": "^22.0.1",
18+
"@angular/common": "^22.0.1",
19+
"@angular/compiler": "^22.0.1",
20+
"@angular/core": "^22.0.1",
21+
"@angular/forms": "^22.0.1",
22+
"@angular/localize": "^22.0.1",
23+
"@angular/material": "^22.0.1",
24+
"@angular/platform-browser": "^22.0.1",
25+
"@angular/platform-browser-dynamic": "^22.0.1",
26+
"@angular/router": "^22.0.1",
27+
"@ng-bootstrap/ng-bootstrap": "^21.0.0",
28+
"@ngx-dropzone/cdk": "^22.0.0",
29+
"@ngx-dropzone/material": "^22.0.0",
30+
"@popperjs/core": "^2.11.8",
31+
"@rxweb/reactive-form-validators": "^13.0.1",
32+
"@types/file-saver-es": "^2.0.3",
33+
"@types/luxon": "^3.4.2",
34+
"apexcharts": "^5.10.3",
35+
"aws-amplify": "^6.16.3",
36+
"bootstrap": "^5.3.3",
37+
"file-saver-es": "^2.0.5",
38+
"json-2-csv": "5.5.11",
39+
"jwt-decode": "^4.0.0",
40+
"leaflet": "^1.9.4",
41+
"leaflet.markercluster": "^1.5.3",
42+
"luxon": "^3.5.0",
43+
"ng-apexcharts": "^2.0.0",
44+
"ngx-bootstrap": "^21.0.0",
45+
"remeda": "^2.25.0",
46+
"rxjs": "^7.8.2",
47+
"tslib": "^2.8.0"
48+
},
49+
"devDependencies": {
50+
"@angular-devkit/architect": "^0.2200.1",
51+
"@angular-devkit/core": "^22.0.1",
52+
"@angular-eslint/builder": "^22.0.0",
53+
"@angular-eslint/eslint-plugin": "^22.0.0",
54+
"@angular-eslint/eslint-plugin-template": "^22.0.0",
55+
"@angular-eslint/schematics": "^22.0.0",
56+
"@angular-eslint/template-parser": "^22.0.0",
57+
"@angular/build": "^22.0.6",
58+
"@angular/cli": "^22.0.1",
59+
"@angular/compiler-cli": "^22.0.1",
60+
"@noble/hashes": "^2.2.0",
61+
"@types/jest": "^30.0.0",
62+
"@types/leaflet": "^1.9.12",
63+
"@types/leaflet.markercluster": "^1.5.4",
64+
"@typescript-eslint/eslint-plugin": "^8.10.0",
65+
"@typescript-eslint/parser": "^8.10.0",
66+
"eslint": "^10.0.0",
67+
"eslint-config-prettier": "^10.1.0",
68+
"jest": "^30.3.0",
69+
"jest-environment-jsdom": "^30.3.0",
70+
"jest-preset-angular": "^17.0.0",
71+
"ts-jest": "^29.4.4",
72+
"ts-node": "^10.9.2",
73+
"typescript": "^6.0.3",
74+
"typescript-eslint": "^8.60.1"
75+
}
76+
}
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
import { Component } from '@angular/core';
2-
3-
/*
4-
This component intends to hold useful references/links for users.
5-
Currently it only holds two training (how-to) links for reviewer/submitter.
6-
*/
7-
@Component({
8-
standalone: true,
9-
selector: 'app-about',
10-
templateUrl: './about.component.html',
11-
styleUrls: ['./about.component.scss']
12-
})
13-
export class AboutComponent {
14-
constructor() {
15-
// Deliberately empty
16-
}
17-
}
1+
import { Component } from '@angular/core';
2+
3+
/*
4+
This component intends to hold useful references/links for users.
5+
Currently it only holds two training (how-to) links for reviewer/submitter.
6+
*/
7+
@Component({
8+
selector: 'app-about',
9+
templateUrl: './about.component.html',
10+
styleUrl: './about.component.scss'
11+
})
12+
export class AboutComponent {
13+
constructor() {
14+
// Deliberately empty
15+
}
16+
}

0 commit comments

Comments
 (0)