{
  "name": "trainus",
  "private": true,
  "version": "1.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "lint": "eslint src",
    "lint:fix": "eslint src --fix",
    "test": "cd tests && .venv/bin/python -m pytest --browser firefox -v",
    "test:chromium": "cd tests && .venv/bin/python -m pytest --browser chromium -v",
    "test:parallel": "cd tests && .venv/bin/python -m pytest --browser firefox --browser chromium --dist loadfile -n auto -v",
    "test:parallel:firefox": "cd tests && .venv/bin/python -m pytest --browser firefox --dist loadfile -n auto -v",
    "test:parallel:chromium": "cd tests && .venv/bin/python -m pytest --browser chromium --dist loadfile -n auto -v",
    "test:parallel:n": "cd tests && .venv/bin/python -m pytest --browser firefox --browser chromium --dist loadfile -n ${WORKERS:-4} -v",
    "site:dev": "cd website && hugo server --buildDrafts --port 1313",
    "site:build": "cd website && hugo --minify"
  },
  "dependencies": {
    "@sqlite.org/sqlite-wasm": "^3.51.2-build7",
    "bootstrap-icons": "^1.13.1",
    "chart.js": "^4.5.1",
    "dompurify": "^3.4.7",
    "i18next": "^25.8.17",
    "i18next-vue": "^5.4.0",
    "marked": "^18.0.4",
    "vue": "^3.5.25",
    "vue-chartjs": "^5.3.3",
    "vue-router": "^4.6.4"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@vitejs/plugin-vue": "^6.0.2",
    "eslint": "^10.5.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-vue": "^10.9.2",
    "prettier": "^3.8.1",
    "vite": "^7.3.1",
    "vite-plugin-pwa": "^1.3.0"
  }
}
