{
  "name": "ops-app",
  "version": "0.1.0",
  "description": "Targo Ops — Unified ISP operations platform",
  "productName": "Targo Ops",
  "private": true,
  "scripts": {
    "dev": "quasar dev",
    "build": "quasar build -m pwa",
    "lint": "eslint --ext .js,.vue ./src",
    "knip": "npx --yes knip"
  },
  "dependencies": {
    "@quasar/extras": "^1.16.12",
    "@twilio/voice-sdk": "^2.18.1",
    "@vue-flow/background": "^1.3.2",
    "@vue-flow/controls": "^1.1.3",
    "@vue-flow/core": "^1.48.2",
    "chart.js": "^4.5.1",
    "cytoscape": "^3.33.2",
    "dompurify": "^3.4.11",
    "grapesjs": "^0.22.16",
    "grapesjs-mjml": "^1.0.8",
    "grapesjs-preset-newsletter": "^1.0.2",
    "hy-vue-gantt": "^5.2.1",
    "idb-keyval": "^6.2.1",
    "lucide-vue-next": "^1.0.0",
    "maplibre-gl": "^5.24.0",
    "pinia": "^2.1.7",
    "pmtiles": "^4.4.1",
    "protomaps-themes-base": "^4.5.0",
    "quasar": "^2.16.10",
    "sip.js": "^0.21.2",
    "vue": "^3.4.21",
    "vue-chartjs": "^5.3.3",
    "vue-email-editor": "^2.2.0",
    "vue-router": "^4.3.0",
    "vuedraggable": "^4.1.0"
  },
  "devDependencies": {
    "@quasar/app-vite": "^1.10.0",
    "eslint": "^8.57.0",
    "eslint-plugin-vue": "^9.24.0",
    "sass": "^1.72.0",
    "workbox-build": "7.0.x",
    "workbox-cacheable-response": "7.0.x",
    "workbox-core": "7.0.x",
    "workbox-expiration": "7.0.x",
    "workbox-precaching": "7.0.x",
    "workbox-routing": "7.0.x",
    "workbox-strategies": "7.0.x"
  },
  "engines": {
    "node": "^18 || ^20",
    "npm": ">= 6.13.4"
  }
}
