test: migrate from Karma and Jasmine to Vitest

Karma is deprecated and depends on braces, which has no patched release for GHSA-vfj7-8cjw-p6xm. Tests now run through the @angular/build unit-test builder with Vitest and jsdom. fakeAsync is replaced by Vitest fake timers, and zone.js is dropped because the zoneless app only loaded it for the Karma test polyfills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
fraujulianandClaude Opus 5.5 committed 2026-10-06 20:44:40 +02:00
1 parent 81613d701a
commit ca1cf8aefe
7 files changed
+763 -1886

No files matched your search

+4 -10
View File
@@ -70,15 +70,13 @@
"express": "^5.2.1",
"markdown-it": "^15.0.2",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.16.2"
"tslib": "^2.3.0"
},
"devDependencies": {
"@angular/build": "^22.2.1",
"@angular/cli": "^22.2.1",
"@angular/compiler-cli": "^22.2.1",
"@types/express": "^5.0.6",
"@types/jasmine": "~6.0.0",
"@types/node": "^25.7.0",
"@types/showdown": "^2.0.6",
"@typescript-eslint/eslint-plugin": "8.71.1",
@@ -92,17 +90,13 @@
"eslint-plugin-promise": "7.3.0",
"eslint-plugin-unused-imports": "4.4.1",
"husky": "^9.1.7",
"jasmine-core": "~6.2.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "^2.3.0",
"jsdom": "^30.1.2",
"postcss": "^8.5.29",
"postcss-selector-parser": "^7.1.1",
"prettier": "^3.8.1",
"sharp": "^0.35.5",
"typescript": "~6.0.3",
"typescript-eslint": "8.71.1"
"typescript-eslint": "8.71.1",
"vitest": "^5.0.3"
}
}