{
  "name": "koel",
  "author": "Phan An <me@phanan.net>",
  "homepage": "https://koel.dev",
  "license": "MIT",
  "description": "A personal music streaming server that works",
  "keywords": [
    "music",
    "audio",
    "stream"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/koel/koel"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "^6.7.2",
    "@fortawesome/free-brands-svg-icons": "^6.7.2",
    "@fortawesome/free-regular-svg-icons": "^6.7.2",
    "@fortawesome/free-solid-svg-icons": "^6.7.2",
    "@fortawesome/vue-fontawesome": "^3.0.8",
    "@laravel/echo-vue": "^2.1.6",
    "butterchurn": "^2.6.7",
    "butterchurn-presets": "^2.4.7",
    "dompurify": "^3.4.0",
    "events": "^3.3.0",
    "fuse.js": "^7.1.0",
    "idb": "^8.0.3",
    "ismobilejs": "^0.4.1",
    "ky": "^1.14.3",
    "lodash-es": "^4.18.1",
    "lucide-vue-next": "^0.452.0",
    "marked": "^17.0.4",
    "nouislider": "^14.7.0",
    "nprogress": "^0.2.0",
    "qrcode": "^1.5.4",
    "sketch-js": "^1.1.3",
    "style-observer": "^0.1.2",
    "three": "^0.146.0",
    "tiny-typed-emitter": "^2.1.0",
    "vue": "^3.5.29",
    "vue-advanced-cropper": "^2.8.9",
    "youtube-player": "^5.6.0"
  },
  "devDependencies": {
    "@commitlint/cli": "^19.8.1",
    "@commitlint/config-conventional": "^19.8.1",
    "@faker-js/faker": "^9.8.0",
    "@floating-ui/dom": "^1.7.2",
    "@testing-library/user-event": "^14.6.1",
    "@testing-library/vue": "^6.6.1",
    "@types/lodash-es": "^4.17.12",
    "@types/nprogress": "^0.2.3",
    "@types/pusher-js": "^4.2.2",
    "@types/three": "^0.144.0",
    "@types/youtube-player": "^5.5.11",
    "@vitejs/plugin-vue": "^6.0.4",
    "@vueuse/components": "^13.4.0",
    "@vueuse/core": "^13.4.0",
    "@vueuse/integrations": "^13.4.0",
    "autoprefixer": "^10.4.21",
    "factoria": "^5.0.0",
    "fake-indexeddb": "^6.2.5",
    "jest-serializer-vue": "^2.0.2",
    "jsdom": "^26.1.0",
    "laravel-echo": "^2.1.6",
    "laravel-vite-plugin": "^2.1.0",
    "postcss": "^8.5.10",
    "postcss-mixins": "^10.0.1",
    "postcss-nested": "^6.2.0",
    "pusher-js": "^4.4.0",
    "rollup-plugin-visualizer": "^6.0.3",
    "tailwindcss": "^3.4.17",
    "typescript": "^5.8.3",
    "vite": "npm:@voidzero-dev/vite-plus-core@^0.1.11",
    "vite-plus": "^0.1.11",
    "vitepress": "^1.6.3",
    "vitepress-plugin-llms": "^1.11.0",
    "vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.11",
    "vue-tsc": "^3.2.5"
  },
  "engines": {
    "node": "^20.19.0 || >=22.12.0"
  },
  "scripts": {
    "check": "vp check resources/assets",
    "check:fix": "vp check --fix resources/assets",
    "typecheck": "vue-tsc --noEmit -p resources/assets/tsconfig.typecheck.json",
    "test": "vp test",
    "test:unit": "vp test",
    "build:sw": "vp build --config vite.config.sw.js",
    "build": "vp build && pnpm run build:sw",
    "dev": "node -e \"console.warn('Command \\\"pnpm dev\\\" has been removed. Use \\\"composer dev\\\" instead.')\"",
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs",
    "prepare": "vp config"
  },
  "type": "module",
  "pnpm": {
    "overrides": {
      "form-data@<2.5.4": ">=2.5.4",
      "@rolldown/pluginutils": "1.0.0-rc.9",
      "vite": "npm:@voidzero-dev/vite-plus-core@^0.1.11",
      "vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.11"
    }
  },
  "packageManager": "pnpm@10.32.1"
}
