{ "private": true, "engines": { "node": ">=16" }, "scripts": { "build": "nuxt build --dotenv .config/prod.env", "buildStaging": "nuxt build --dotenv .config/staging.env", "dev": "nuxt dev --port 3333 --dotenv .config/local.env", "devStaging": "nuxt dev --port 3333 --dotenv .config/localStaging.env", "generate": "nuxt generate", "preview": "nuxt preview", "previewBuild": "nuxt build && nuxt preview", "lint:eslint": "eslint . --fix", "lint:prettier": "prettier -w .", "lint:oxlint": "oxlint -c .oxlint.json --import-plugin --fix", "lint:typecheck": "nuxt typecheck", "prepare": "nuxt prepare && cd .. && husky install frontend/.husky" }, "lint-staged": { "*.{ts,js,vue,html}": [ "oxlint --fix", "prettier -c", "eslint" ] }, "dependencies": { "@github/webauthn-json": "2.1.1", "@headlessui/vue": "1.7.23", "@pinia/nuxt": "0.9.0", "@vuelidate/core": "2.0.3", "@vuelidate/validators": "2.0.4", "@vueuse/components": "12.5.0", "@vueuse/core": "12.5.0", "@vueuse/nuxt": "12.5.0", "accept-language-parser": "1.5.0", "axios": "1.7.9", "chart.js": "4.4.7", "debug": "4.4.0", "diff-match-patch": "1.0.5", "dompurify": "3.2.4", "easymde": "2.18.0", "filesize": "10.1.6", "floating-vue": "5.2.2", "github-slugger": "2.0.0", "jsdom": "26.0.0", "jwt-decode": "4.0.0", "lodash-es": "4.17.21", "marked": "15.0.6", "marked-alert": "2.1.2", "marked-extended-tables": "1.1.0", "marked-linkify-it": "3.1.12", "nprogress": "0.2.0", "pinia": "2.3.1", "prism-theme-vars": "0.2.5", "prismjs": "1.29.0", "qs": "6.14.0", "rapidoc": "9.3.8", "swagger-typescript-api": "13.0.23", "universal-cookie": "7.2.2", "vue-advanced-cropper": "2.8.9", "vue-chartjs": "5.3.2", "vuedraggable": "4.1.0" }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "4.4.1", "@iconify-json/mdi": "1.2.3", "@nuxt/eslint": "1.0.1", "@nuxtjs/i18n": "9.2.0", "@nuxtjs/turnstile": "0.9.11", "@sentry/bun": "8.54.0", "@sentry/nuxt": "8.54.0", "@sentry/profiling-node": "8.54.0", "@types/accept-language-parser": "1.5.6", "@types/bun": "1.2.2", "@types/debug": "4.1.12", "@types/diff-match-patch": "1.0.36", "@types/jsdom": "21.1.7", "@types/locale": "0.1.4", "@types/lodash-es": "4.17.12", "@types/markdown-it-link-attributes": "3.0.5", "@types/nprogress": "0.2.3", "@types/prismjs": "1.26.5", "@types/qs": "6.9.18", "@unocss/nuxt": "65.4.3", "eslint-import-resolver-alias": "1.1.2", "eslint-plugin-oxlint": "0.15.10", "eslint-plugin-unicorn": "56.0.1", "husky": "9.1.7", "lint-staged": "15.4.3", "nuxt": "3.15.4", "oxlint": "0.15.10", "pnpm": "10.2.1", "prettier": "3.4.2", "sass": "1.84.0", "typescript": "5.7.3", "unplugin-icons": "22.0.0", "unplugin-vue-components": "28.0.0", "vue-tsc": "2.2.0" }, "packageManager": "pnpm@9.15.3+sha256.c1da43727ccbc1ed42aff4fd6bdb4b1e91e65a818e6efff5b240fbf070ba4eaf" }