{
  "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"
  }
}
