{
  "name": "moviepilot",
  "version": "2.15.1",
  "private": true,
  "type": "module",
  "bin": "dist/service.js",
  "scripts": {
    "dev": "vite --host",
    "dev:pwa": "vite --host --port 5174",
    "prebuild": "npm run build:icons && npm run generate:pwa-splash",
    "build": "vite build",
    "generate:pwa-splash": "node scripts/generate-pwa-splash.mjs",
    "preview": "vite preview --port 5050",
    "test": "vitest",
    "test:run": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:lint-config": "vitest run tests/config/eslint-config.spec.ts",
    "typecheck": "vue-tsc --noEmit",
    "lint": "eslint . --max-warnings=0",
    "lint:fix": "eslint . --fix",
    "lint:suppressions:prune": "eslint . --prune-suppressions",
    "format": "node scripts/format-changed.mjs --write",
    "format:check": "node scripts/format-changed.mjs --check",
    "format:all:check": "prettier . --check",
    "test:format-config": "vitest run tests/config/format-changed.spec.ts tests/config/frontend-workflow.spec.ts",
    "build:icons": "tsc -b src/@iconify && node src/@iconify/build-icons.js",
    "postinstall": "npm run build:icons",
    "pkg": "pkg . -t node18-win-x64 -o MoviePilot-Frontend.exe"
  },
  "pkg": {
    "assets": [
      "dist/**/*"
    ]
  },
  "resolutions": {
    "vitest/**/vite": "5.4.18",
    "vitest/vite": "5.4.18"
  },
  "dependencies": {
    "@fullcalendar/core": "^6.1.15",
    "@fullcalendar/daygrid": "^6.1.15",
    "@fullcalendar/interaction": "^6.1.15",
    "@fullcalendar/list": "^6.1.15",
    "@fullcalendar/timegrid": "^6.1.15",
    "@fullcalendar/vue3": "^6.1.15",
    "@iconify/utils": "^2.2.1",
    "@types/crypto-js": "^4.2.2",
    "@types/js-cookie": "^3.0.6",
    "@vue-flow/background": "^1.3.2",
    "@vue-flow/controls": "^1.1.2",
    "@vue-flow/core": "^1.42.1",
    "@vue-flow/minimap": "^1.5.2",
    "@vue-flow/node-resizer": "^1.4.0",
    "@vue-flow/node-toolbar": "^1.1.0",
    "@vue-js-cron/vuetify": "^5.0.9",
    "@vueuse/core": "^12.4.0",
    "@vueuse/math": "^12.4.0",
    "ace-builds": "^1.37.4",
    "apexcharts": "^4.0.0",
    "axios": "^1.7.9",
    "body-scroll-lock": "^3.1.5",
    "colorthief": "^2.6.0",
    "copy-to-clipboard": "^3.3.3",
    "crypto-js": "^4.2.0",
    "dayjs": "^1.11.13",
    "express": "^4.21.2",
    "express-http-proxy": "^2.1.1",
    "gridstack": "^12.6.0",
    "gsap": "^3.15.0",
    "http-proxy-middleware": "^3.0.0",
    "js-cookie": "^3.0.5",
    "lodash-es": "^4.17.21",
    "markdown-it": "^14.1.0",
    "markdown-it-link-attributes": "^4.0.1",
    "mousetrap": "^1.6.5",
    "nprogress": "^0.2.0",
    "pinia": "^3.0.4",
    "pinia-plugin-persistedstate": "^4.2.0",
    "qrcode": "^1.5.4",
    "sass": "^1.83.4",
    "tailwindcss": "^ 3.4.17",
    "three": "^0.185.1",
    "vue": "^3.5.13",
    "vue-router": "^4.5.0",
    "vue-toastification": "^2.0.0-rc.5",
    "vue3-ace-editor": "^2.2.4",
    "vue3-apexcharts": "^1.8.0",
    "vue3-perfect-scrollbar": "^2.0.0",
    "vuedraggable": "^4.1.0",
    "vuetify": "3.7.3",
    "webfontloader": "^1.6.28"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@iconify-json/line-md": "^1.2.13",
    "@iconify-json/lucide": "^1.2.85",
    "@iconify-json/material-symbols": "^1.2.51",
    "@iconify-json/mdi": "^1.1.52",
    "@iconify-json/tabler": "^1.2.23",
    "@iconify/tools": "^4.0.4",
    "@iconify/vue": "^4.3.0",
    "@intlify/unplugin-vue-i18n": "^6.0.3",
    "@originjs/vite-plugin-federation": "^1.4.1",
    "@pinia/testing": "1.0.3",
    "@tailwindcss/aspect-ratio": "^0.4.2",
    "@testing-library/dom": "9.3.4",
    "@testing-library/jest-dom": "6.9.1",
    "@testing-library/user-event": "14.6.1",
    "@testing-library/vue": "8.1.0",
    "@types/body-scroll-lock": "^3.1.2",
    "@types/lodash-es": "^4.17.12",
    "@types/markdown-it": "^14.1.2",
    "@types/markdown-it-link-attributes": "^3.0.5",
    "@types/mousetrap": "^1.6.15",
    "@types/node": "^20.1.4",
    "@types/nprogress": "^0.2.3",
    "@types/qrcode": "^1.5.6",
    "@types/three": "^0.185.1",
    "@types/webfontloader": "^1.6.34",
    "@vitejs/plugin-vue": "^5.0.4",
    "@vitejs/plugin-vue-jsx": "^4.1.1",
    "@vitest/coverage-v8": "3.2.7",
    "@vue/compiler-dom": "3.5.13",
    "@vue/test-utils": "2.4.11",
    "autoprefixer": "^10.4.14",
    "eslint": "^10.7.0",
    "eslint-plugin-sonarjs": "^4.2.0",
    "eslint-plugin-vue": "^10.9.2",
    "globals": "^17.3.0",
    "jsdom": "26.1.0",
    "msw": "2.15.0",
    "postcss": "^8.5.1",
    "postcss-html": "^1.5.0",
    "prettier": "^3.9.5",
    "sharp": "^0.33.5",
    "stylelint": "^16.13.2",
    "stylelint-config-idiomatic-order": "^10.0.0",
    "stylelint-config-standard-scss": "^14.0.0",
    "stylelint-use-logical-spec": "5.0.1",
    "terser": "^5.36.0",
    "type-fest": "^4.15.0",
    "typescript": "^5.0.4",
    "typescript-eslint": "^8.64.0",
    "unplugin-auto-import": "^19.0.0",
    "unplugin-vue-components": "^28.0.0",
    "unplugin-vue-define-options": "^1.5.3",
    "vite": "^5.4.11",
    "vite-plugin-pages": "^0.32.1",
    "vite-plugin-pwa": "^0.21.1",
    "vite-plugin-top-level-await": "^1.5.0",
    "vite-plugin-vue-layouts": "^0.11.0",
    "vite-plugin-vuetify": "2.0.4",
    "vitest": "3.2.7",
    "vue-eslint-parser": "^10.4.1",
    "vue-shepherd": "^4.1.0",
    "vue-tsc": "^2.0.10",
    "workbox-build": "^7.3.0",
    "workbox-window": "^7.3.0"
  },
  "packageManager": "yarn@1.22.18",
  "engines": {
    "node": ">=20.19"
  }
}
