{ "name": "portfolio", "version": "YYDDDhhmm+GIT_HASH", "currentVersion": "3.2.0", "engines": { "node": ">=24.14.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 build && 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:assets": "npm run generate:static-files", "compress:assets": "node scripts/compress-assets.cjs", "build": "npm run generate:assets && ng build --configuration production && npm run compress:assets && node scripts/copy-static-root-files.cjs", "------ STARTUP": "", "test": "ng test", "dev": "npm run generate:assets && ng serve", "start": "node dist/server/server.mjs", "------ CONFIGS": "", "prepare": "husky" }, "lint-staged": { "*.{ts,js}": [ "prettier --write", "eslint --fix" ], "*.{html,css,scss,json,md}": [ "prettier --write" ] }, "repository": "https://github.com/FrauJulian/Personal-Portfolio-Website", "bugs": "https://github.com/FrauJulian/Personal-Portfolio-Website/issues", "author": { "name": "Lechner Julian", "nickname": "FrauJulian", "email": "fraujulian@lechner.top", "website": "https://fraujulian.xyz/" }, "private": true, "dependencies": { "@angular/animations": "^21.2.9", "@angular/cdk": "^21.2.7", "@angular/common": "^21.2.9", "@angular/compiler": "^21.2.9", "@angular/core": "^21.2.9", "@angular/forms": "^21.2.9", "@angular/material": "^21.2.7", "@angular/platform-browser": "^21.2.9", "@angular/platform-browser-dynamic": "^21.2.9", "@angular/platform-server": "^21.2.9", "@angular/router": "^21.2.9", "@angular/ssr": "^21.2.7", "@fortawesome/angular-fontawesome": "^4.0.0", "@fortawesome/fontawesome-svg-core": "^6.7.2", "@fortawesome/free-brands-svg-icons": "^6.7.2", "@fortawesome/free-solid-svg-icons": "^6.7.2", "@types/markdown-it": "^14.1.2", "express": "^4.18.2", "markdown-it": "^14.1.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^21.2.7", "@angular/cli": "^21.2.7", "@angular/compiler-cli": "^21.2.9", "@types/express": "^4.17.17", "@types/jasmine": "~5.1.0", "@types/node": "^18.18.0", "@types/showdown": "^2.0.6", "@typescript-eslint/eslint-plugin": "8.57.2", "@typescript-eslint/parser": "8.57.2", "angular-eslint": "21.3.1", "del-cli": "^6.0.0", "esbuild": "^0.27.4", "eslint": "9.39.4", "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-import": "2.32.0", "eslint-plugin-n": "17.24.0", "eslint-plugin-promise": "7.2.1", "eslint-plugin-unused-imports": "4.4.1", "husky": "^9.1.7", "jasmine-core": "~5.6.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.1.0", "postcss": "^8.5.8", "postcss-selector-parser": "^7.1.1", "prettier": "^3.8.1", "sharp": "^0.34.5", "typescript": "~5.9.3", "typescript-eslint": "8.57.2" } }