{ "name": "openposterdb-web", "version": "1.2.1", "private": true, "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", "type-check": "vue-tsc --build", "lint": "run-s lint:*", "lint:oxlint": "oxlint . --fix", "lint:eslint": "eslint . --fix --cache", "format": "oxfmt src/" }, "dependencies": { "@lucide/vue": "^1.31.0", "@scalar/api-reference": "^1.48.7", "@tailwindcss/vite": "^4.2.1", "@tanstack/vue-query": "^5.92.9", "@tanstack/vue-table": "^8.21.3", "@vueuse/core": "^14.4.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-vue-next": "^0.577.0", "pinia": "^3.0.4", "reka-ui": "^2.10.3", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.1", "vue": "^3.5.29", "vue-router": "^5.0.3" }, "devDependencies": { "@playwright/test": "^1.60.0", "@tsconfig/node24": "^24.0.4", "@types/jsdom": "^28.0.0", "@types/node": "^24.12.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.8.1", "eslint": "^10.0.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-oxlint": "~1.50.0", "eslint-plugin-playwright": "^2.8.0", "eslint-plugin-vue": "~10.8.0", "jiti": "^2.6.1", "jsdom": "^28.1.0", "npm-run-all2": "^8.0.4", "oxfmt": "^0.35.0", "oxlint": "~1.50.0", "sharp": "^0.34.5", "tw-animate-css": "^1.4.0", "typescript": "~5.9.3", "vite": "^7.3.1", "vite-plugin-vue-devtools": "^8.0.6", "vitest": "^4.0.18", "vue-tsc": "^3.2.5" }, "engines": { "node": "^20.19.0 || >=22.12.0" } }