Skip to content

Commit 1bd60eb

Browse files
authored
chore(LFXV2-242): update dependencies and fix SSR hydration issues (#35)
* chore(LFXV2-242): update dependencies and fix SSR hydration issues - Update Angular dependencies from 19.2.0 to 19.2.14/19.2.15 - Update PrimeNG from 19.1.3 to 19.1.4 - Update FullCalendar from 6.1.18 to 6.1.19 - Update TypeScript ESLint packages from 8.37.0 to 8.39.1 - Update various other dev dependencies - Add ngSkipHydration to BreadcrumbComponent and HeaderComponent to fix SSR hydration issues - Update CLAUDE.md to require JIRA ticket association for commits 🤖 Generated with [Claude Code](https://claude.ai/code) Signed-off-by: Asitha de Silva <asithade@gmail.com> * fix: add ngSkipHydration to resolve zoneless hydration duplicate rendering - Add ngSkipHydration to header and breadcrumb components as temporary workaround - Addresses duplicate rendering issue with Angular 19 zoneless change detection + SSR hydration - TODO comments added to remove ngSkipHydration when upgrading to Angular 20 - References GitHub issue: angular/angular#50543 Signed-off-by: Asitha de Silva <asithade@gmail.com> --------- Signed-off-by: Asitha de Silva <asithade@gmail.com>
1 parent 6049ed7 commit 1bd60eb

File tree

7 files changed

+343
-310
lines changed

7 files changed

+343
-310
lines changed

CLAUDE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,5 @@ lfx-pcc-v3/
112112
- **Use data-testid naming convention** - `[section]-[component]-[element]` for hierarchical structure
113113
- **Test responsive behavior** - validate mobile, tablet, and desktop viewports appropriately
114114
- When running tests to validate UI tests, use reporter=list
115+
116+
- All commits and pull requests need to be associated to a JIRA ticket. If there isn't one, we need to create it and reference it moving forward.

apps/lfx-pcc/package.json

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -18,60 +18,60 @@
1818
},
1919
"private": true,
2020
"dependencies": {
21-
"@angular/animations": "^19.2.0",
22-
"@angular/cdk": "^19.2.0",
23-
"@angular/common": "^19.2.0",
24-
"@angular/compiler": "^19.2.0",
25-
"@angular/core": "^19.2.0",
26-
"@angular/forms": "^19.2.0",
27-
"@angular/platform-browser": "^19.2.0",
28-
"@angular/platform-browser-dynamic": "^19.2.0",
29-
"@angular/platform-server": "^19.2.0",
30-
"@angular/router": "^19.2.0",
31-
"@angular/ssr": "^19.2.11",
32-
"@fullcalendar/angular": "^6.1.18",
33-
"@fullcalendar/core": "^6.1.18",
34-
"@fullcalendar/daygrid": "^6.1.18",
35-
"@fullcalendar/timegrid": "^6.1.18",
21+
"@angular/animations": "^19.2.14",
22+
"@angular/cdk": "^19.2.19",
23+
"@angular/common": "^19.2.14",
24+
"@angular/compiler": "^19.2.14",
25+
"@angular/core": "^19.2.14",
26+
"@angular/forms": "^19.2.14",
27+
"@angular/platform-browser": "^19.2.14",
28+
"@angular/platform-browser-dynamic": "^19.2.14",
29+
"@angular/platform-server": "^19.2.14",
30+
"@angular/router": "^19.2.14",
31+
"@angular/ssr": "^19.2.15",
32+
"@fullcalendar/angular": "^6.1.19",
33+
"@fullcalendar/core": "^6.1.19",
34+
"@fullcalendar/daygrid": "^6.1.19",
35+
"@fullcalendar/timegrid": "^6.1.19",
3636
"@lfx-pcc/shared": "workspace:*",
37-
"@linuxfoundation/lfx-ui-core": "^0.0.19",
38-
"@primeng/themes": "^19.1.3",
39-
"dotenv": "^17.2.0",
37+
"@linuxfoundation/lfx-ui-core": "^0.0.20",
38+
"@primeng/themes": "^19.1.4",
39+
"dotenv": "^17.2.1",
4040
"express": "^4.18.2",
41-
"express-openid-connect": "^2.18.1",
41+
"express-openid-connect": "^2.19.2",
4242
"ngx-cookie-service-ssr": "^19.1.2",
4343
"pino-http": "^10.5.0",
44-
"primeng": "^19.1.3",
45-
"rxjs": "~7.8.0",
46-
"tslib": "^2.3.0"
44+
"primeng": "^19.1.4",
45+
"rxjs": "~7.8.2",
46+
"tslib": "^2.8.1"
4747
},
4848
"devDependencies": {
49-
"@angular-devkit/build-angular": "^19.2.11",
50-
"@angular-eslint/eslint-plugin": "^v19.8.1",
51-
"@angular-eslint/eslint-plugin-template": "^v19.8.1",
52-
"@angular-eslint/template-parser": "^v19.8.1",
53-
"@angular/cli": "^19.2.11",
54-
"@angular/compiler-cli": "^19.2.0",
55-
"@eslint/compat": "^1.3.1",
49+
"@angular-devkit/build-angular": "^19.2.15",
50+
"@angular-eslint/eslint-plugin": "^19.8.1",
51+
"@angular-eslint/eslint-plugin-template": "^19.8.1",
52+
"@angular-eslint/template-parser": "^19.8.1",
53+
"@angular/cli": "^19.2.15",
54+
"@angular/compiler-cli": "^19.2.14",
55+
"@eslint/compat": "^1.3.2",
5656
"@eslint/eslintrc": "^3.3.1",
57-
"@eslint/js": "^9.31.0",
58-
"@playwright/test": "^1.54.1",
57+
"@eslint/js": "^9.33.0",
58+
"@playwright/test": "^1.54.2",
5959
"@types/express": "^4.17.17",
6060
"@types/node": "^18.18.0",
61-
"@typescript-eslint/eslint-plugin": "^8.37.0",
62-
"@typescript-eslint/parser": "^8.37.0",
63-
"@typescript-eslint/type-utils": "^8.37.0",
64-
"@typescript-eslint/types": "^8.37.0",
65-
"@typescript-eslint/utils": "^8.37.0",
61+
"@typescript-eslint/eslint-plugin": "^8.39.1",
62+
"@typescript-eslint/parser": "^8.39.1",
63+
"@typescript-eslint/type-utils": "^8.39.1",
64+
"@typescript-eslint/types": "^8.39.1",
65+
"@typescript-eslint/utils": "^8.39.1",
6666
"autoprefixer": "^10.4.21",
67-
"eslint": "^9.30.1",
67+
"eslint": "^9.33.0",
6868
"eslint-plugin-import": "^2.32.0",
69-
"playwright": "^1.54.1",
69+
"playwright": "^1.54.2",
7070
"postcss": "^8.5.6",
7171
"prettier": "^3.6.2",
72-
"prettier-plugin-organize-imports": "^4.1.0",
72+
"prettier-plugin-organize-imports": "^4.2.0",
7373
"prettier-plugin-tailwindcss": "^0.6.14",
74-
"tailwindcss": "^3",
74+
"tailwindcss": "^3.4.17",
7575
"tailwindcss-primeui": "^0.6.1",
7676
"typescript": "~5.7.2"
7777
}

apps/lfx-pcc/src/app/shared/components/breadcrumb/breadcrumb.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import { BreadcrumbItemClickEvent, BreadcrumbModule } from 'primeng/breadcrumb';
1212
standalone: true,
1313
imports: [CommonModule, RouterModule, BreadcrumbModule],
1414
templateUrl: './breadcrumb.component.html',
15+
// TODO: Remove ngSkipHydration when upgrading to Angular 20 - zoneless hydration compatibility
16+
// https://github.com/angular/angular/issues/50543
17+
host: { ngSkipHydration: 'true' },
1518
})
1619
export class BreadcrumbComponent {
1720
@ContentChild('item', { static: false, descendants: false }) public itemTemplate?: TemplateRef<any>;

apps/lfx-pcc/src/app/shared/components/header/header.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ import { MenuComponent } from '../menu/menu.component';
2222
templateUrl: './header.component.html',
2323
styleUrl: './header.component.scss',
2424
schemas: [CUSTOM_ELEMENTS_SCHEMA],
25+
// TODO: Remove ngSkipHydration when upgrading to Angular 20 - zoneless hydration compatibility
26+
// https://github.com/angular/angular/issues/50543
27+
host: { ngSkipHydration: 'true' },
2528
})
2629
export class HeaderComponent {
2730
private readonly router = inject(Router);

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@
2525
"prepare": "husky"
2626
},
2727
"devDependencies": {
28-
"@linuxfoundation/lfx-ui-core": "^0.0.19",
29-
"@types/node": "^24.0.14",
30-
"@typescript-eslint/eslint-plugin": "^8.37.0",
31-
"@typescript-eslint/parser": "^8.37.0",
32-
"@typescript-eslint/type-utils": "^8.37.0",
33-
"@typescript-eslint/types": "^8.37.0",
34-
"@typescript-eslint/utils": "^8.37.0",
28+
"@linuxfoundation/lfx-ui-core": "^0.0.20",
29+
"@types/node": "^24.2.1",
30+
"@typescript-eslint/eslint-plugin": "^8.39.1",
31+
"@typescript-eslint/parser": "^8.39.1",
32+
"@typescript-eslint/type-utils": "^8.39.1",
33+
"@typescript-eslint/types": "^8.39.1",
34+
"@typescript-eslint/utils": "^8.39.1",
3535
"husky": "^9.1.7",
36-
"lint-staged": "^16.1.2",
36+
"lint-staged": "^16.1.5",
3737
"prettier": "^3.6.2",
3838
"pretty-quick": "^4.2.2",
3939
"tslib": "^2.8.1",
40-
"turbo": "^2.5.4",
40+
"turbo": "^2.5.5",
4141
"typescript": "5.8.3"
4242
},
4343
"engines": {

packages/shared/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,6 @@
4141
"typescript": "5.8.3"
4242
},
4343
"dependencies": {
44-
"@fullcalendar/core": "^6.1.18"
44+
"@fullcalendar/core": "^6.1.19"
4545
}
4646
}

0 commit comments

Comments
 (0)