{
  "name": "vikunja-frontend",
  "version": "0.10.0",
  "private": true,
  "scripts": {
    "serve": "vite",
    "serve:dist-dev": "node scripts/serve-dist.js",
    "serve:dist": "vite preview",
    "build": "vite build && workbox copyLibraries dist/",
    "build:modern-only": "BUILD_MODERN_ONLY=true vite build && workbox copyLibraries dist/",
    "build:dev": "vite build -m development --outDir dist-dev/",
    "lint": "eslint --ignore-pattern '*.test.*' ./src --ext .vue,.js,.ts",
    "lint:markup": "vue-tsc --noEmit",
    "cypress:open": "cypress open",
    "test:unit": "jest",
    "test:frontend": "cypress run",
    "browserslist:update": "npx browserslist@latest --update-db"
  },
  "dependencies": {
    "@kyvg/vue3-notification": "2.3.4",
    "@sentry/tracing": "6.14.3",
    "@sentry/vue": "6.14.3",
    "@vue/compat": "3.2.21",
    "bulma": "0.9.3",
    "camel-case": "4.1.2",
    "codemirror": "5.63.3",
    "copy-to-clipboard": "3.3.1",
    "date-fns": "2.25.0",
    "dompurify": "2.3.3",
    "easymde": "2.15.0",
    "flatpickr": "4.6.9",
    "highlight.js": "11.3.1",
    "is-touch-device": "1.0.1",
    "lodash.clonedeep": "4.5.0",
    "lodash.debounce": "4.0.8",
    "marked": "4.0.3",
    "register-service-worker": "1.7.2",
    "snake-case": "3.0.4",
    "ufo": "0.7.9",
    "vue": "3.2.21",
    "vue-advanced-cropper": "2.6.3",
    "vue-drag-resize": "2.0.3",
    "vue-flatpickr-component": "9.0.5",
    "vue-i18n": "9.2.0-beta.18",
    "vue-router": "4.0.12",
    "vuedraggable": "4.1.0",
    "vuex": "4.0.2",
    "workbox-precaching": "6.3.0"
  },
  "devDependencies": {
    "@4tw/cypress-drag-drop": "2.0.0",
    "@fortawesome/fontawesome-svg-core": "1.2.36",
    "@fortawesome/free-regular-svg-icons": "5.15.4",
    "@fortawesome/free-solid-svg-icons": "5.15.4",
    "@fortawesome/vue-fontawesome": "3.0.0-5",
    "@types/jest": "27.0.2",
    "@typescript-eslint/eslint-plugin": "5.3.1",
    "@typescript-eslint/parser": "5.3.1",
    "@vitejs/plugin-legacy": "1.6.2",
    "@vitejs/plugin-vue": "1.9.4",
    "@vue/eslint-config-typescript": "9.0.1",
    "autoprefixer": "10.4.0",
    "axios": "0.24.0",
    "browserslist": "4.17.6",
    "cypress": "9.0.0",
    "cypress-file-upload": "5.0.8",
    "esbuild": "0.13.13",
    "eslint": "8.2.0",
    "eslint-plugin-vue": "8.0.3",
    "express": "4.17.1",
    "faker": "5.5.3",
    "jest": "27.3.1",
    "netlify-cli": "6.14.23",
    "postcss": "8.3.11",
    "rollup": "2.60.0",
    "rollup-plugin-visualizer": "5.5.2",
    "sass": "1.43.4",
    "slugify": "1.6.2",
    "ts-jest": "27.0.7",
    "typescript": "4.4.4",
    "vite": "2.6.14",
    "vite-plugin-pwa": "0.11.3",
    "vue-tsc": "0.29.4",
    "vite-svg-loader": "3.1.0",
    "wait-on": "6.0.0",
    "workbox-cli": "6.3.0"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "browser": true,
      "es2021": true,
      "node": true
    },
    "extends": [
      "eslint:recommended",
      "plugin:vue/vue3-essential",
      "@vue/typescript"
    ],
    "rules": {
      "vue/html-quotes": [
        "error",
        "double"
      ],
      "quotes": [
        "error",
        "single"
      ],
      "comma-dangle": [
        "error",
        "always-multiline"
      ],
      "semi": [
        "error",
        "never"
      ],
      "vue/multi-word-component-names": 0
    },
    "parser": "vue-eslint-parser",
    "parserOptions": {
      "parser": "@typescript-eslint/parser",
      "ecmaVersion": 2021
    },
    "ignorePatterns": [
      "*.test.*",
      "cypress/*"
    ]
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "jest": {
    "testPathIgnorePatterns": [
      "cypress"
    ],
    "testEnvironment": "jsdom",
    "preset": "ts-jest",
    "roots": [
      "<rootDir>/src"
    ],
    "transform": {
      "^.+\\.(js|tsx?)$": "ts-jest"
    },
    "moduleFileExtensions": [
      "ts",
      "js",
      "json"
    ]
  },
  "license": "AGPL-3.0-or-later"
}