Files
Personal-Portfolio-Website/package.json
T
fraujulianandClaude Opus 5.5 ca1cf8aefe 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>
2026-10-06 20:44:40 +02:00

103 lines
3.7 KiB
JSON

{
"name": "portfolio",
"version": "YYDDDhhmm+GIT_HASH",
"currentVersion": "3.2.0",
"engines": {
"node": ">=24.15.0",
"npm": ">=11.12.0"
},
"scripts": {
"------ UTILS": "",
"format": "prettier --write .",
"format:check": "prettier --check .",
"lint": "npm run lint:base && npm run lint:types",
"lint:fix": "eslint . --ext .ts,.tsx,.js,.cjs,.mjs --fix",
"lint:base": "eslint . --ext .ts,.tsx,.js,.cjs,.mjs",
"lint:types": "eslint . --config eslint.config.typeaware.cjs --ext .ts,.tsx",
"text:check": "node scripts/check-source-quality.cjs",
"text:fix": "node scripts/fix-source-text.cjs --write",
"version:set": "node ./scripts/version.cjs --set",
"version:ensure": "node ./scripts/version.cjs --ensure",
"version:check": "node ./scripts/version.cjs --check",
"version:place": "node ./scripts/version.cjs --place",
"------ CI": "",
"check": "npm run lint && npm run format:check && npm run version:check && npm run text:check",
"fix": "npm run version:place && npm run lint:fix && npm run text:fix && npm run format",
"------ BUILD": "",
"generate:static-files": "node scripts/generate-static-files.cjs",
"generate:optimized-assets": "node scripts/generate-optimized-assets.cjs",
"generate:openpgp-assets": "node scripts/generate-openpgp-assets.cjs",
"generate:assets": "npm run generate:static-files && npm run generate:optimized-assets && npm run generate:openpgp-assets",
"build": "npm run generate:assets && ng build --configuration production && node scripts/copy-static-root-files.cjs",
"------ STARTUP": "",
"test": "npm run generate:assets && ng test",
"dev": "npm run generate:assets && ng serve",
"start": "node scripts/static-server.mjs",
"------ CONFIGS": "",
"prepare": "husky"
},
"lint-staged": {
"*.{ts,js}": [
"prettier --write",
"eslint --fix"
],
"*.{html,css,scss,json,md}": [
"prettier --write"
]
},
"repository": "https://git.lechner-systems.at/fraujulian/Personal-Portfolio-Website",
"bugs": "https://git.lechner-systems.at/fraujulian/Personal-Portfolio-Website/issues",
"author": {
"name": "Lechner Julian",
"nickname": "FrauJulian",
"email": "fraujulian@lechner.top",
"website": "https://fraujulian.xyz/"
},
"private": true,
"dependencies": {
"@angular/animations": "^22.2.1",
"@angular/cdk": "^22.2.1",
"@angular/common": "^22.2.1",
"@angular/compiler": "^22.2.1",
"@angular/core": "^22.2.1",
"@angular/forms": "^22.2.1",
"@angular/material": "^22.2.1",
"@angular/platform-browser": "^22.2.1",
"@angular/platform-browser-dynamic": "^22.2.1",
"@angular/platform-server": "^22.2.1",
"@angular/router": "^22.2.1",
"@angular/ssr": "^22.2.1",
"express": "^5.2.1",
"markdown-it": "^15.0.2",
"rxjs": "~7.8.0",
"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/node": "^25.7.0",
"@types/showdown": "^2.0.6",
"@typescript-eslint/eslint-plugin": "8.71.1",
"@typescript-eslint/parser": "8.71.1",
"angular-eslint": "22.5.0",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import": "2.32.0",
"eslint-plugin-n": "^18.4.1",
"eslint-plugin-promise": "7.3.0",
"eslint-plugin-unused-imports": "4.4.1",
"husky": "^9.1.7",
"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",
"vitest": "^5.0.3"
}
}