{
  "name": "frontend",
  "version": "0.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "generate:api": "openapi-typescript ../backend/src/main/resources/openapi/api.yaml -o src/api/schema.d.ts",
    "dev": "npm run generate:api && vite",
    "build": "npm run generate:api && run-p type-check \"build-only {@}\" --",
    "preview": "vite preview",
    "test:unit": "vitest",
    "build-only": "vite build",
    "type-check": "vue-tsc --build",
    "lint": "run-s lint:*",
    "lint:oxlint": "oxlint . --fix",
    "lint:eslint": "eslint . --fix --cache",
    "format": "prettier --write --experimental-cli src/",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "test:e2e:debug": "playwright test --debug"
  },
  "dependencies": {
    "openapi-fetch": "^0.17.0",
    "vue": "^3.5.29",
    "vue-router": "^5.0.3"
  },
  "devDependencies": {
    "@msw/playwright": "^0.6.5",
    "@msw/source": "^0.6.1",
    "@playwright/test": "^1.58.2",
    "@tsconfig/node24": "^24.0.4",
    "@types/jsdom": "^28.0.0",
    "@types/node": "^24.11.0",
    "@vitejs/plugin-vue": "^6.0.4",
    "@vitest/eslint-plugin": "^1.6.9",
    "@vue/eslint-config-typescript": "^14.7.0",
    "@vue/test-utils": "^2.4.6",
    "@vue/tsconfig": "^0.9.0",
    "eslint": "^10.0.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-oxlint": "~1.61.0",
    "eslint-plugin-vue": "~10.8.0",
    "jiti": "^2.6.1",
    "jsdom": "^29.0.0",
    "msw": "^2.12.10",
    "npm-run-all2": "^8.0.4",
    "openapi-typescript": "^7.13.0",
    "oxlint": "~1.61.0",
    "prettier": "3.8.3",
    "typescript": "~5.9.3",
    "vite": "^8.0.0",
    "vite-plugin-vue-devtools": "^8.0.6",
    "vitest": "^4.0.18",
    "vue-tsc": "^3.2.5"
  },
  "browserslist": [
    ">= 0.5%",
    "last 2 versions",
    "Firefox ESR",
    "not dead"
  ],
  "engines": {
    "node": "^20.19.0 || >=22.12.0"
  }
}
