{
  "name": "vikunja-frontend",
  "description": "The todo app to organize your life.",
  "private": true,
  "version": "0.10.0",
  "license": "AGPL-3.0-or-later",
  "repository": {
    "type": "git",
    "url": "https://kolaente.dev/vikunja/frontend"
  },
  "bugs": {
    "url": "https://kolaente.dev/vikunja/frontend/issues"
  },
  "homepage": "https://vikunja.io/",
  "funding": "https://opencollective.com/vikunja",
  "packageManager": "pnpm@7.30.3",
  "keywords": [
    "todo",
    "productivity",
    "task management",
    "organisation",
    "gantt",
    "kanban"
  ],
  "scripts": {
    "serve": "vite",
    "preview": "vite preview --port 4173",
    "preview:dev": "vite preview --outDir dist-dev --mode development --port 4173",
    "build": "vite build && workbox copyLibraries dist/",
    "build:modern-only": "BUILD_MODERN_ONLY=true vite build && workbox copyLibraries dist/",
    "build:dev": "vite build --mode development --outDir dist-dev/",
    "lint": "eslint --ignore-pattern '*.test.*' ./src --ext .vue,.js,.ts",
    "test:e2e": "start-server-and-test preview http://127.0.0.1:4173 'cypress run --e2e --browser chrome'",
    "test:e2e-record": "start-server-and-test preview http://127.0.0.1:4173 'cypress run --e2e --browser chrome --record'",
    "test:e2e-dev-dev": "start-server-and-test preview:dev http://127.0.0.1:4173 'cypress open --e2e'",
    "test:e2e-dev": "start-server-and-test preview http://127.0.0.1:4173 'cypress open --e2e'",
    "test:unit": "vitest --dir ./src",
    "typecheck": "vue-tsc --noEmit && vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
    "browserslist:update": "pnpm dlx browserslist@latest --update-db",
    "fonts:update": "pnpm fonts:download && pnpm fonts:subset",
    "fonts:download": "./scripts/fonts-download.sh",
    "fonts:subset": "./scripts/fonts-subset.sh",
    "story:dev": "histoire dev",
    "story:build": "histoire build",
    "story:preview": "histoire preview"
  },
  "dependencies": {
    "@fortawesome/fontawesome-svg-core": "6.3.0",
    "@fortawesome/free-regular-svg-icons": "6.3.0",
    "@fortawesome/free-solid-svg-icons": "6.3.0",
    "@fortawesome/vue-fontawesome": "3.0.3",
    "@github/hotkey": "2.0.1",
    "@infectoone/vue-ganttastic": "2.1.4",
    "@intlify/unplugin-vue-i18n": "0.10.0",
    "@kyvg/vue3-notification": "2.9.0",
    "@sentry/tracing": "7.45.0",
    "@sentry/vue": "7.45.0",
    "@types/is-touch-device": "1.0.0",
    "@types/lodash.clonedeep": "4.5.7",
    "@types/sortablejs": "1.15.1",
    "@vueuse/core": "9.13.0",
    "axios": "1.3.4",
    "blurhash": "2.0.5",
    "bulma-css-variables": "0.9.33",
    "camel-case": "4.1.2",
    "codemirror": "5.65.12",
    "date-fns": "2.29.3",
    "dayjs": "1.11.7",
    "dompurify": "3.0.1",
    "easymde": "2.18.0",
    "fast-deep-equal": "3.1.3",
    "flatpickr": "4.6.13",
    "flexsearch": "0.7.31",
    "floating-vue": "2.0.0-beta.20",
    "focus-within": "3.0.2",
    "highlight.js": "11.7.0",
    "is-touch-device": "1.0.1",
    "klona": "2.0.6",
    "lodash.debounce": "4.0.8",
    "marked": "4.3.0",
    "pinia": "2.0.33",
    "register-service-worker": "1.7.2",
    "snake-case": "3.0.4",
    "sortablejs": "1.15.0",
    "ufo": "1.1.1",
    "vue": "3.2.47",
    "vue-advanced-cropper": "2.8.8",
    "vue-flatpickr-component": "11.0.3",
    "vue-i18n": "9.2.2",
    "vue-router": "4.1.6",
    "workbox-precaching": "6.5.4",
    "zhyswan-vuedraggable": "4.1.3"
  },
  "devDependencies": {
    "@4tw/cypress-drag-drop": "2.2.3",
    "@cypress/vite-dev-server": "5.0.5",
    "@cypress/vue": "5.0.5",
    "@faker-js/faker": "7.6.0",
    "@histoire/plugin-screenshot": "0.15.9",
    "@histoire/plugin-vue": "0.15.8",
    "@rushstack/eslint-patch": "1.2.0",
    "@types/codemirror": "5.60.7",
    "@types/dompurify": "3.0.0",
    "@types/flexsearch": "0.7.3",
    "@types/focus-within": "1.0.1",
    "@types/lodash.debounce": "4.0.7",
    "@types/marked": "4.0.8",
    "@types/node": "18.15.10",
    "@types/postcss-preset-env": "7.7.0",
    "@typescript-eslint/eslint-plugin": "5.56.0",
    "@typescript-eslint/parser": "5.56.0",
    "@vitejs/plugin-legacy": "4.0.2",
    "@vitejs/plugin-vue": "4.1.0",
    "@vue/eslint-config-typescript": "11.0.2",
    "@vue/test-utils": "2.3.2",
    "@vue/tsconfig": "0.1.3",
    "autoprefixer": "10.4.14",
    "browserslist": "4.21.5",
    "caniuse-lite": "1.0.30001470",
    "csstype": "3.1.1",
    "cypress": "12.8.1",
    "esbuild": "0.17.14",
    "eslint": "8.36.0",
    "eslint-plugin-vue": "9.10.0",
    "happy-dom": "8.9.0",
    "histoire": "0.15.9",
    "netlify-cli": "13.2.1",
    "postcss": "8.4.21",
    "postcss-easing-gradients": "3.0.1",
    "postcss-easings": "3.0.1",
    "postcss-preset-env": "8.1.0",
    "rollup": "3.20.2",
    "rollup-plugin-visualizer": "5.9.0",
    "sass": "1.60.0",
    "start-server-and-test": "2.0.0",
    "typescript": "5.0.2",
    "vite": "4.2.1",
    "vite-plugin-inject-preload": "1.3.1",
    "vite-plugin-pwa": "0.14.6",
    "vite-svg-loader": "4.0.0",
    "vitest": "0.29.7",
    "vue-tsc": "1.2.0",
    "wait-on": "7.0.1",
    "workbox-cli": "6.5.4"
  },
  "pnpm": {
    "patchedDependencies": {
      "flexsearch@0.7.31": "patches/flexsearch@0.7.31.patch"
    }
  }
}
