{ "name": "front", "version": "0.1.0", "private": true, "description": "Funkwhale front-end", "author": "Funkwhale Collective ", "scripts": { "dev": "vite", "build": "vite build --mode development", "build:deployment": "vite build", "serve": "vite preview", "test": "vitest run", "test:unit": "vitest run --coverage", "test:generate-mock-server": "msw-auto-mock ../docs/schema.yml -o test/msw-server.ts --node", "lint": "eslint --cache --cache-strategy content --ext .ts,.js,.vue,.json,.html src test cypress public/embed.html", "lint:tsc": "vue-tsc --noEmit --incremental && tsc --noEmit --incremental -p cypress", "fix-fomantic-css": "scripts/fix-fomantic-css.sh", "postinstall": "yarn run fix-fomantic-css" }, "dependencies": { "@funkwhale/ui": "0.2.2", "@sentry/tracing": "7.47.0", "@sentry/vue": "7.47.0", "@tauri-apps/api": "2.0.0-beta.1", "@vue/runtime-core": "3.3.11", "@vueuse/core": "10.3.0", "@vueuse/integrations": "10.3.0", "@vueuse/math": "10.3.0", "@vueuse/router": "10.3.0", "axios": "1.2.3", "axios-auth-refresh": "3.3.6", "butterchurn": "3.0.0-beta.4", "butterchurn-presets": "3.0.0-beta.4", "diff": "5.1.0", "dompurify": "3.0.8", "focus-trap": "7.2.0", "fomantic-ui-css": "2.9.3", "idb-keyval": "6.2.1", "lodash-es": "4.17.21", "lru-cache": "10.2.0", "moment": "2.29.4", "showdown": "2.1.0", "stacktrace-js": "2.0.2", "standardized-audio-context": "25.3.60", "text-clipper": "2.2.0", "transliteration": "2.3.5", "universal-cookie": "4.0.4", "vite-plugin-pwa": "0.14.4", "vue": "3.3.11", "vue-gettext": "2.1.12", "vue-i18n": "9.9.1", "vue-router": "4.2.5", "vue-upload-component": "3.1.8", "vue-virtual-scroller": "2.0.0-beta.8", "vue3-gettext": "2.3.4", "vue3-lazyload": "0.3.8", "vuedraggable": "4.1.0", "vuex": "4.1.0", "vuex-persistedstate": "4.1.0", "vuex-router-sync": "5.0.0" }, "devDependencies": { "@faker-js/faker": "8.4.1", "@intlify/eslint-plugin-vue-i18n": "2.0.0", "@intlify/unplugin-vue-i18n": "2.0.0", "@tauri-apps/cli": "2.0.0-beta.2", "@types/diff": "5.0.9", "@types/dompurify": "3.0.5", "@types/jquery": "3.5.29", "@types/lodash-es": "4.17.12", "@types/moxios": "0.4.17", "@types/qs": "6.9.10", "@types/semantic-ui": "2.2.9", "@types/showdown": "2.0.6", "@types/vue-virtual-scroller": "npm:@earltp/vue-virtual-scroller", "@typescript-eslint/eslint-plugin": "7.1.0", "@vitejs/plugin-vue": "5.0.3", "@vitest/coverage-v8": "1.3.1", "@vue-macros/volar": "0.13.3", "@vue/compiler-sfc": "3.3.11", "@vue/eslint-config-standard": "8.0.1", "@vue/eslint-config-typescript": "12.0.0", "@vue/test-utils": "2.2.7", "@vue/tsconfig": "0.5.1", "cypress": "13.6.4", "eslint": "8.57.0", "eslint-config-standard": "17.1.0", "eslint-plugin-html": "8.0.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-n": "16.6.2", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.1.1", "eslint-plugin-vue": "9.22.0", "jsdom": "24.0.0", "jsonc-eslint-parser": "2.4.0", "msw": "2.2.1", "msw-auto-mock": "0.18.0", "patch-package": "8.0.0", "rollup-plugin-visualizer": "5.9.0", "sass": "1.57.1", "sinon": "15.0.2", "standardized-audio-context-mock": "9.6.32", "typescript": "5.3.3", "unplugin-vue-macros": "2.4.6", "utility-types": "3.10.0", "vite": "5.1.3", "vitest": "1.3.1", "vue-tsc": "1.8.27", "workbox-core": "6.5.4", "workbox-precaching": "6.5.4", "workbox-routing": "6.5.4", "workbox-strategies": "6.5.4" } }